Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermée
#1 01-01-2021 21:00:41
- amlm33
- Membre
- Inscription : 01-01-2021
- Messages : 3
[Python] Programmation Jeu du Taquin
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
Hors ligne
#2 01-01-2021 22:47:59
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 991
Re : [Python] Programmation Jeu du Taquin
Bonsoir,
Tu ne sas pas comment écrire la fonction ? ou tu ne sais pas trouver l'algorithme de vérification ?
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#3 02-01-2021 00:11:08
- amlm33
- Membre
- Inscription : 01-01-2021
- Messages : 3
Re : [Python] Programmation Jeu du Taquin
Bonsoir,
Tu ne sas pas comment écrire la fonction ? ou tu ne sais pas trouver l'algorithme de vérification ?
@+
Bonsoir,
Je vous remercie de votre réponse.
Je ne sais ni écrire la fonction, ni trouver l'algorithme de vérification. Je ne vois pas comment aborder le problème.
Hors ligne
#4 02-01-2021 17:05:24
- amlm33
- Membre
- Inscription : 01-01-2021
- Messages : 3
Re : [Python] Programmation Jeu du Taquin
Bonjour,
Je pensais calculer la signature d'une permutation mais je n'arrive pas à trouver un code qui fonctionne.
Je vous remercie de votre aide
Hors ligne
#5 02-01-2021 19:35:57
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 991
Re : [Python] Programmation Jeu du Taquin
Bonsoir,
il ne faudrait pas croire que silence = il m'a laissé tomber...
Nan, nan !
J'ai passé la matinée dessus et je suis arrivé à quelque de propre.
Je me suis inspiré de Wikipedia.
Dans ton code, tu vas de 0 à 15, 15 étant l'espace...
Avant de faire appel à la fonction (ou tout au début après tout), je prévois de remplacer le 0 par 16.
Pourquoi ?
D'après Wikipedia et d'autres, il faut trier le tableau de nombres par ordre croissant avec une méthode de tri faisant appel aux permutations, tel le "tri à bulle" (j'avais ça en stock) : peu importe s'il ne permute pas exclusivement avec 16, on compte le nombre de permutations effectuées.
Puis, on compte le nombre de cases horizontales pour aller au bout de la colonne, et on ajoute le nb de déplacements verticaux pour aller de cette case à la dernière en bas à droite.
A ce que j'ai compris, il ne faut pas que le ne nombre de permutations et le nombre de déplacements de la case vide (16) soient de parité différentes...
Et ta fonction retournera True ou False.
Tu récupères cette mention :
- si la fonction a retourné False, tu génères une autre position,
- si elle a retourné True, tu passes au jeu.
Logiquement tu dois générer un 1er tableau 16 nombres de 0 à 15, puis les répartir dans un liste de 4 sous-listes de 4 éléments, c'est avec ce tableau que le jeu doit se dérouler.
Si oui, tu passes à la fonction la première liste et la position du zéro ou du 16 dans la liste 4 x4 par (ligne, colonne).
Comme je ne sais pas comment ton code va fonctionner, la fonction que j'ai codée, prend la première liste en fait un lise 4x4 et calcule la position (ligne,colonne) du 0 ( ou 16, ou blanc) pour en déduire la distance horizontale+verticale pour rejoindre la case finale en bas à droite...
Donc pour affiner, j'ai besoin de savoir comment tu as pensé ton code...
@+
[EDIT] Ah, mais je vois que tu fais appel à numpy, je vais déjà pouvoir simplifier ce que j'ai fait.
Dernière modification par yoshi (02-01-2021 19:40:22)
Arx Tarpeia Capitoli proxima...
Hors ligne
#6 03-01-2021 10:38:04
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 991
Re : [Python] Programmation Jeu du Taquin
Bonjour,
Après le temps que j'ai investi dans ton projet, je me vois contrait de "t'envoyer sur les roses".
Cf https://www.ilemaths.net/sujet-taquin-p … 61435.html
A ton avis, combien de temps, avant que l'ïle Maths s'aperçoive que u t'adonnes à un jeu généralement honni : le crossposting !
Si ça ne va pas assez vite, j'irai le leur signaler!
Autrement dit, tu manges à plusieurs râteliers et ça ne fait pas !
Tu as cru pouvoir jouer sur deux tableaux, tu auras perdu sur les deux (Dommage, je venais de finir intégralement via numpy de refaire ce que j'avais fait en Python classique"
Tu as perdu sur les deux tableaux ? Pas grave : 100% des perdants ont tenté leur chance !
Cette leçon vaut bien un fromage sans doute...
Sujet fermé.
Yoshi
- Modérateur -
Arx Tarpeia Capitoli proxima...
Hors ligne
Pages : 1
Discussion fermée