[..] Résoudre un Puzzle ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Kikoolol
Niveau 5
Niveau 5
Messages : 100
Enregistré le : mer. 05 mars 2008 18:18
Status : Hors ligne

[..] Résoudre un Puzzle ?

#1

Message par Kikoolol »

Bonsoir à tous.

J'essai de faire un script pouvant résoudre un Puzzle de ce type :

http://www.jeuxpourenfants.org/coulissa ... ssant.html

Seulement je ne sais pas du tout pas quoi commencer :? ni même le "fonctionnement" ou encore les fonctions à utiliser.
Pouvez vous m'aider ?

Merci d'avance !
Kikoolol
Niveau 5
Niveau 5
Messages : 100
Enregistré le : mer. 05 mars 2008 18:18
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#2

Message par Kikoolol »

C'est impossible ou bien personne n'as d'idée ? :P
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#3

Message par orax »

En fait, c'est très simple. Ceci est un puzzle `jigsaw' mathématique ! Vous avez une photo coupée en q×q pièces, où q est une puissance d'un nombre premier p. Elle représente donc le plan vectoriel sur le corps fini Fq à q éléments.
Ces q×q pièces vous seront présentées en désordre, résultat d'une transformation affine (cachée) du dit plan. Et votre but est de reconstituer l'image en trouvant la transformation affine inverse. Et vous avez droit aux essais multiples pour ce faire.

Rappelons qu'une transformation affine est une transformation linéaire suivie d'une translation. Toutes sont des opérations sur Fq.
► Afficher le texte
Pour savoir à quelle partie du puzzle on a à faire, je pense que PixelChecksum pourrait convenir, mais peut importe puisque c'est surtout l'algorithme de résolution du puzzle qui me semble le plus compliqué.
Il y en a un ici qui cherche à faire la même chose (mais pour un 3x3) : http://www.developpez.net/forums/d55070 ... zle-3-3-a/.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#4

Message par SagePourpre »

Wow... j'avais commencé
à écrire comment j'aurais procédé mais je me suis tanné après une heure ...
et ta réponse toute simple "pas de toi" explique la même chose .... en 200 lignes de moins :shock:
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#5

Message par orax »

D'après ce que j'ai vu, ce jeu s'appelle le jeu du taquin. D'ailleurs, en tapant "algorithme taquin" dans un moteur de recherche, on peut trouver pas mal de bonnes choses.
Modifié en dernier par orax le jeu. 16 juil. 2009 04:51, modifié 1 fois.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Kikoolol
Niveau 5
Niveau 5
Messages : 100
Enregistré le : mer. 05 mars 2008 18:18
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#6

Message par Kikoolol »

Merci beaucoup pour votre aide.

Je vais suivre cette piste, mais je pense que je vais encore avoir besoin de votre aide.
Si vous découvrez une nouvelle infos n'hésiter pas.
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#7

Message par Yogui »

Kikoolol
Niveau 5
Niveau 5
Messages : 100
Enregistré le : mer. 05 mars 2008 18:18
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#8

Message par Kikoolol »

Merci beaucoup pour votre aide mais je n'arrive toujours pas à "convertir" le script en langage Autoit...
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#9

Message par SagePourpre »

C'est un gros travail ce que tu veux faire... du moins pour moi ça le serait.

Néanmoins, sans me rappeler du nom exact de la fonction, je sais que dans les include tu a gdi.au3.

Il y'a une fonction là-dedans qui te permet de prendre une capture d'écran.


Je commencerais par là.


Ton but... Prendre une capture d'écran du puzzle (a des coordonnées prédéfinies)

Ensuite, par le moyen d'une gui, tu spécifies le nombre de carrés
(Largeur et Hauteur)

Par la suite, avec ces informations, tu divises le puzzle en le nombre de pièces.

Donc si le casse-tête est 4 X 4, le script utilise l'image du casse-tête capturée au départ, la divise
en 16 morceaux égaux, les 16 morceaux stockés dans des variables.

Une fois le casse-tête mélangé, tu reprends une capture d'écran du casse-tête, divise encore le casse-tête
en 16 morceaux et puis tu utilise la fonction

Pixelsearch pour les images ( je sais que j'en ai entendu parler sur le forum mais je ne me rappelle pas du nom)

De cette manière, tu peux établir la position des morceaux .


Une fois que la nouvelle position des morceaux est établie, tu peux commencer à utiliser les infos. trouvés sur
les liens qu'on t'a donné pour générer un script qui déterminera la séquence d'action à faire pour les remettre
en place le plus rapidement possible.


Ensuite, pour placer les clics au bons endroit, on utilise les coordonnés données pour la première capture d'écran
afin de définir la position exacte du centre de chacun des morceaux. Le script place les clics... et voilà !



C'est juste mon approche brouillon de la chose...
La manière la plus simple de le faire selon moi.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Kikoolol
Niveau 5
Niveau 5
Messages : 100
Enregistré le : mer. 05 mars 2008 18:18
Status : Hors ligne

Re: [..] Résoudre un Puzzle ?

#10

Message par Kikoolol »

Je vais me lancer la dedans, je vous tien au courant.
Répondre