Advertisement
Guest User

Tic/Tac/Toe

a guest
Apr 30th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.54 KB | None | 0 0
  1. # Morpion
  2.  
  3. def reset():
  4.     global T
  5.     T=[]
  6.     for i in range(1,10):
  7.         T.append(["_",0])
  8.  
  9. def Partie():
  10.     rejouer="oui"
  11.     J1=0
  12.     J2=0
  13.     print("Il faut choisir les chiffres comme sur un pavé numérique")
  14.     reset()
  15.     affichage(T)
  16.     while rejouer=="oui" or rejouer=="OUI":
  17.         print("\nJoueur 1 Score :",J1,"\nJoueur 2 Score :",J2)
  18.         reset()
  19.         i=1
  20.         while not(victoire_j1() or victoire_j2() or i>9):
  21.             if i%2==1:
  22.                 joueur1()
  23.             else:
  24.                 joueur2()
  25.             i=i+1
  26.         if victoire_j1():
  27.             J1=J1+1
  28.             print("Le joueur 1 a gagné !\n")
  29.         else:
  30.             if victoire_j2():
  31.                 J2=J2+1
  32.                 print("Le joueur 2 a gagné !\n")
  33.             else:
  34.                 print("Match nul !")
  35.         rejouer=str(input("rejouer ?\n"))
  36.  
  37. def affichage(T):
  38.     print("\n",T[6][0],T[7][0],T[8][0],"\n",T[3][0],T[4][0],T[5][0],"\n",T[0][0],T[1][0],T[2][0],"\n")
  39.    
  40. def joueur1():
  41.     a=int(input("J1 : Entrer une case ou jouer\n"))
  42.     while a<1 or a>9 or T[a-1][1]==1:
  43.         a=int(input("Entrer une case libre !\n"))
  44.     T[a-1][0]="X"
  45.     T[a-1][1]=1
  46.     affichage(T)
  47.  
  48. def joueur2():
  49.     a=int(input("J2 : Entrer une case ou jouer\n"))
  50.     while T[a-1][1]==1:
  51.         a=int(input("Entrer une case libre !\n"))
  52.     T[a-1][0]="O"
  53.     T[a-1][1]=1
  54.     affichage(T)
  55.    
  56. def victoire_j1():
  57.     if (T[0][0]==T[1][0] and T[1][0]==T[2][0] and T[0][0]=="X") or (T[3][0]==T[4][0] and T[4][0]==T[5][0] and T[3][0]=="X") or (T[6][0]==T[7][0] and T[7][0]==T[8][0] and T[6][0]=="X") or (T[0][0]==T[3][0] and T[3][0]==T[6][0] and T[0][0]=="X") or (T[1][0]==T[4][0] and T[4][0]==T[7][0] and T[1][0]=="X") or (T[2][0]==T[5][0] and T[5][0]==T[8][0] and T[2][0]=="X") or (T[0][0]==T[4][0] and T[4][0]==T[8][0] and T[0][0]=="X") or (T[2][0]==T[4][0] and T[4][0]==T[6][0] and T[2][0]=="X"):
  58.         return(True)
  59.     else:
  60.         return(False)
  61.    
  62. def victoire_j2():
  63.     if (T[0][0]==T[1][0] and T[1][0]==T[2][0] and T[0][0]=="O") or (T[3][0]==T[4][0] and T[4][0]==T[5][0] and T[3][0]=="O") or (T[6][0]==T[7][0] and T[7][0]==T[8][0] and T[6][0]=="O") or (T[0][0]==T[3][0] and T[3][0]==T[6][0] and T[0][0]=="O") or (T[1][0]==T[4][0] and T[4][0]==T[7][0] and T[1][0]=="O") or (T[2][0]==T[5][0] and T[5][0]==T[8][0] and T[2][0]=="O") or (T[0][0]==T[4][0] and T[4][0]==T[8][0] and T[0][0]=="O") or (T[2][0]==T[4][0] and T[4][0]==T[6][0] and T[2][0]=="O"):
  64.         return(True)
  65.     else:
  66.         return(False)
  67.        
  68. Partie()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement