Bonsoir à tous,
Je me permets de vous demander de l'aide sur un rapport d'informatique que j'ai à rendre à la rentrée. Je dois réaliser la programmation du Jeu du Taquin.
J'ai déjà écrit l'algorithme en python pour le jeu avec un mélange de la grille initiale en 100 coups, et le jeu est fonctionnel. Cependant, je dois aussi étudier le cas où une grille de jeu est générée aléatoirement et il faut vérifier que cette grille permet d'aboutir à la position finale de fin de jeu, ou bien recommencer.
Je ne sais pas comment écrire la fonction qui permet de vérifier que la grille générée permet d'aboutir à la "position finale de fin de jeu, ou bien recommencer".
J'ai déjà écrit la manière de générer une grille aléatoirement de format 4 x 4 :
L=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0]
random.shuffle(L)
T1=np.array(L)
T1.shape=(4,4)
print(T1)
Je vous remercie de votre aide à tous et je vous souhaite une bonne année.
amlm33
salut
ça me semble bien compliqué ...
il faut donc programmer les déplacements possibles (je suppose que "0" désigne la case vide)
donc il faut programmer le déplacement d'une case adjacente à 0 : il y entre 2 et 4 déplacements valides suivant que 0 soit dans un coin, sur un côté ou "au milieu" : pas au bord
on peut remarquer que toute position avec un déplacement amenant à une position gagnante est gagnant .... ce qui implique qu'on va procéder par récursivité ...
Salut Carpediem,
Je te remercie pour ces informations mais que signifie "par récursivité", SVP ?
Bonne soirée
Bonjour,
Merci beaucoup.
J'avais trouvé ce lien, je voyais bien que cela correspondait à ce que je voulais mais j'ai du mal à écrire le code.
Pourriez-vous m'aider, SVP ?
Amlm33
Si tu veux suivre ce qui est indiqué dans le lien, tu peux écrire :
- une procédure qui prend en entrée un tableau 4x4 représentant une configuration du taquin (comme le tableau T1 que tu produis - il serait d'ailleurs pas mal d'écrire ce que tu as fait comme une procédure ) et retourne la liste indiquée dans le lien (sans le 0).
- une procédure qui calcule le nombre d'inversions d'une liste qui représente une permutation des entiers de 1 à 15.
Avec ça tu pourras tester si un tableau 4x4 peut se ramener à la configuration de départ par des mouvements autorisés.
-
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :