Jeu morpion qui ne fonctionne pas
SERGENTJOHN117
-
SERGENTJOHN117 -
SERGENTJOHN117 -
Bonjour,
Voici mon code python pour mon morpion:
Et mon problème c'est que quand je le lance mon dictionnaire se crée mais avec q'une clé et valeur et me dit que la clé que j'ai taper existe déjà et recrée un dictionnaire avec la valeur du joueur 2 et même si je change de valeur il m'affiche toujours la même clé. Je ne comprends où est le problème je vous remercie d'avance pour votre aide.
Voici mon code python pour mon morpion:
grille={} finish_test=True pionjoueur1=0 pionjoueur2=0 verif_X_variable=1 verif_O_variable=1 case=grille.keys() def morpion(): joueur1() if verif_X_variable==0: joueur1() else: if pionjoueur1==0: grille[0]='X' elif pionjoueur1==1: grille[1]='X' elif pionjoueur1==2: grille[2]='X' elif pionjoueur1==3: grille[3]='X' elif pionjoueur1==4: grille[4]='X' elif pionjoueur1==5: grille[5]='X' elif pionjoueur1==6: grille[6]='X' elif pionjoueur1==7: grille[7]='X' elif pionjoueur1==8: grille[8]='X' print(grille) joueur2() if verif_O_variable==0: joueur2() else: if pionjoueur2==0: grille[0]='O' elif pionjoueur2==1: grille[1]='O' elif pionjoueur2==2: grille[2]='O' elif pionjoueur2==3: grille[3]='O' elif pionjoueur2==4: grille[4]='O' elif pionjoueur2==5: grille[5]='O' elif pionjoueur2==6: grille[6]='O' elif pionjoueur2==7: grille[7]='O' elif pionjoueur2==8: grille[8]='O' print(grille) def finish(): finish_test=True try: if grille[0]=='X' and grille[1]=='X' and grille[2]=='X' or grille[2]=='X' and grille[5]=='X' and grille[8]=='X' or grille[8]=='X' and grille[7]=='X' and grille[6]=='X' or grille[6]=='X' and grille[3]=='X' and grille[0]=='X' or grille[2]=='X' and grille[4]=='X' and grille[6]=='X' or grille[8]=='X' and grille[4]=='X' and grille[0]=='X' or grille[1]=='X' and grille[4]=='X' and grille[7]=='X' or grille[3]=='X' and grille[4]=='X' and grille[5]=='X': print('Le joueur 1 a gagné!!!!') finish_test=False elif grille[0]=='O' and grille[1]=='O' and grille[2]=='O' or grille[2]=='O' and grille[5]=='O' and grille[8]=='O' or grille[8]=='O' and grille[7]=='O' and grille[6]=='O' or grille[6]=='O' and grille[3]=='O' and grille[0]=='O' or grille[2]=='O' and grille[4]=='O' and grille[6]=='O' or grille[8]=='O' and grille[4]=='O' and grille[0]=='O' or grille[1]=='O' and grille[4]=='O' and grille[7]=='O' or grille[3]=='O' and grille[4]=='O' and grille[5]=='O': print('Le joueur 2 a gagné!!!!') finish_test=False else: print('Egalité') except KeyError: game() def game(): while finish_test==True: morpion() finish() if finish_test: break print('La partie est terminé') def joueur1(): pionjoueur1=int(input()) verif_X() def joueur2(): pionjoueur2=int(input()) verif_O() def verif_X(): if pionjoueur1 in case: print('Il y a déjà un pion sur cette case, veuillez rejouez') verif_X_variable=0 else: verif_X_variable=1 def verif_O(): if pionjoueur2 in case: print('Il y a déjà un pion sur cette case, veuillez rejouez') verif_O_variable=0 else: verif_O_variable=1 game()
Et mon problème c'est que quand je le lance mon dictionnaire se crée mais avec q'une clé et valeur et me dit que la clé que j'ai taper existe déjà et recrée un dictionnaire avec la valeur du joueur 2 et même si je change de valeur il m'affiche toujours la même clé. Je ne comprends où est le problème je vous remercie d'avance pour votre aide.
Configuration: Windows / Chrome 77.0.3865.120
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Jeu morpion qui ne fonctionne pas
- 94 jeu - Télécharger - Puzzle & Réflexion
- 94 degrés jeu - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Logo jeu - Télécharger - Jeux vidéo
- Jeu google - Guide
Cela se teste avec in.
Mais quel intérêt dans un jeu de morpion ?
Une grille, c'est 9 cases, donc une liste, laquelle doit être initialisée au départ du jeu, et au fur et à mesure de l'avancement du jeu, les valeurs de cette liste doivent être changées jusqu'à obtenir une liste remplies de X et O