petit jeu sympa! contre un autre joueur
sauf que je n'arrive pas a faire changer de joueur
une fois je joue ensuite l'adversaire joue et le problème c'est que l'adversaire continue de jouer tout seul§
Source / Exemple :
import string
# place le symbole du joueur sur la case demandée et retourne
# la valeur de tour (inchangée sauf si la case demandée
# est remplie)
def placer(tour, nom_j1, nom_j2):
global A1, A2, A3, B1, B2, B3
global C1, C2, C3, case_remplie
# on regarde c'est le tour de quel joueur.
if tour%2 == 0:
symbole = "X"
nom = nom_j1
else :
symbole = "O"
nom = nom_j2
texte = nom + ", où voulez vous placer (ex: A1) : "
case = input(texte)
case = case.upper()
# on place le symbole à la case demandée
if case == "A1" and A1 == " ":
A1 = symbole
case_remplie += 1
elif case == "A2" and A2 == " ":
A2 = symbole
case_remplie += 1
elif case == "A3" and A3 == " ":
A3 = symbole
case_remplie += 1
elif case == "B1" and B1 == " ":
B1 = symbole
case_remplie += 1
elif case == "B2" and B2 == " ":
B2 = symbole
case_remplie += 1
elif case == "B3" and B3 == " ":
B3 = symbole
case_remplie += 1
elif case == "C1" and C1 == " ":
C1 = symbole
case_remplie += 1
elif case == "C2" and C2 == " ":
C2 = symbole
case_remplie += 1
elif case == "C3" and C3 == " ":
C3 = symbole
case_remplie += 1
else :
print ('la case est déjà remplie, ou vous n avez pas tapez une case valide.')
# affiche le morpion
def affichage(A1,A2,A3,B1,B2,B3,C1,C2,C3):
print ('\n A B C')
print ('########################')
print ('#",A1,"|",B1,"|",C1,"# 1')
print ('#------+------+--------#')
print ('#",A2,"|",B2,"|",C2,"# 2')
print ('#------+------+--------#')
print ('#",A3,"|",B3,"|",C3,"# 3')
print ('#############\n')
# vérifie si 3 symboles identiques sont alignés
# et modifie "fini" si c'est le cas.
def verification(A1,A2,A3,B1,B2,B3,C1,C2,C3, nom_j1, nom_j2):
global fini
if ((A1 == A2 and A1 == A3) or (A1 == B1 and A1 == C1) or (A1 == B2 and A1 == C3)) and A1 != " ":
if A1 == "X":
print ('Bravo", nom_j1, "vous avez gagné')
else :
print ('Bravo", nom_j2, "vous avez gagné')
fini = True
elif ((B1 == B2 and B2 == B3) or (A2 == B2 and B2 == C2) or (A3 == B2 and B2 == C1)) and B2 != " ":
if B2 == "X":
print ('Bravo", nom_j1, "vous avez gagné')
else :
print ('Bravo", nom_j2, "vous avez gagné')
fini = True
elif ((C1 == C3 and C2 == C3) or (A3 == C3 and B3 == C3)) and C3 != " ":
if C3 == "X":
print ('Bravo", nom_j1, "vous avez gagné')
else :
print ('Bravo", nom_j2, "vous avez gagné')
fini = True
tour_joueur = 0
fini = False
A1, A2, A3 = " ", " ", " "
B1, B2, B3 = " ", " ", " "
C1, C2, C3 = " ", " ", " "
case_remplie = 0
nom_joueur1 = input("entrez le nom du 1er joueur, vous aurez les X: ")
nom_joueur2 = input("entrez le nom du 2eme joueur, vous aurez les O: ")
affichage(A1,A2,A3,B1,B2,B3,C1,C2,C3)
while not fini :
tour_joueur = placer(tour_joueur, nom_joueur1, nom_joueur2)
tour_joueur = +1
affichage(A1,A2,A3,B1,B2,B3,C1,C2,C3)
verification(A1,A2,A3,B1,B2,B3,C1,C2,C3, nom_joueur1, nom_joueur2)
if case_remplie == 9 and not fini:
print ('match nul')
fini = True
Conclusion :
voila
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.