Un petit casse-tête ( puzzle )

Soyez le premier à donner votre avis sur cette source.

Vue 4 319 fois - Téléchargée 400 fois

Description

un petit jeu de casse-tête qui consiste réordonner les chiffres dans l’ordre croissant.

Conclusion :


On peut lui ajouter un moteur qui permet de réordonner les chiffres automatiquement en construisant un arbre de coups possibles et de chercher la solution , méthode MINMAX par exemple.

Merci de vos remarques et commentaires sur mon adresse E-MAIL : kra_radouane@yahoo.fr

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Forman
Messages postés
663
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
6 avril 2010
1 -
Euh... je crois que je suis tombé sur une partie qu'on ne peut pas finir!
cs_Forman
Messages postés
663
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
6 avril 2010
1 -
Euh... je crois que je suis tombé sur une partie qu'on ne peut pas finir!
En fait, c'est dans la partie InitGame, tu écris:

For N := 1 To 50 Do
Begin
I := Random(CUR_DIM) + 1;
J := Random(CUR_DIM) + 1;
II := Random(CUR_DIM) + 1;
JJ := Random(CUR_DIM) + 1;
nValue := PlayMatrix[I,J];
PlayMatrix[I,J] := PlayMatrix[II,JJ];
PlayMatrix[II,JJ] := nValue;
End;

ce qui correspond à faire des permutations aléatoires sur la matrice des cases, en partant du puzzle reconstruit. Le problème, c'est que la chemin inverse pour revenir au puzzle de départ lorsqu'on joue n'existe pas forcément...
Imaginons que plutot que d'effectuer la boucle 50 fois, tu ne le fais qu'une fois, et qu'elle échange 2 cases contigües. Eh bien, tu remarqueras qu'en jouant, si tu veux permuter ces 2 cases, il te faut aussi en permuter 2 autres... donc le jeu est impossible à finir.

Shématiquement, il faudrait faire:

white square:=case en bas à droite
for n:=1 to 50 do
case random(4) of
0:déplacer le white square vers la gauche
1:vers la droite
2:en haut
3:en bas
end;

Alors, tu es sur que le jeu a une solution, puisque tu es parti d'une configuration initiale où le puzzle est résolu, et que tu n'as fait ques des permutations autorisées qui sont inversibles (c'est à dire où l'in peut revenir en arrière).
ozanyy
Messages postés
4
Date d'inscription
mardi 8 avril 2003
Statut
Membre
Dernière intervention
7 mai 2004
-
Je dois faire la resolution de ce jeu, explique moi comment tu fais avec la methode MinMax.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.