Re: Ajout d"une interface graphique
Posté : jeu. 25 avr. 2013 21:18
par Mojada
Oui, c'est le jeu othello (reversi), un jeu assez populaire.
Soit dis en passant, le code :
from random import *
import sys
choixdujoueur = 0
casepions = 0
caseselectionne = 0
tourdujoueur = 0 #variable definissant la couleur du pions
partifini = 0
coordonneeH1=0
coordonneeV1=0
n = 0 # variable qui vas permettre de boucler la fonction de detection de pions L 82 a L 165
k = 0 # variable qui vas permettre de changer la couleur des jetons L 85 a L 168
l = 0 # variable verifiant qu'il y as eu encadrement L82 a L 168
def tableaux():
global Plateau_de_jeu
global table_de_jeu
global choixdujoueur
partifini = 0
Plateau_de_jeu=[[0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,],
[0,0,0,2,1,0,0,0,],
[0,0,0,1,2,0,0,0,],
[0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,]]
table_de_jeu=[[0,0,0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,0,0,],
[0,0,0,0,2,1,0,0,0,0,],
[0,0,0,0,1,2,0,0,0,0,],
[0,0,0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,0,0,],
[0,0,0,0,0,0,0,0,0,0,]]
print(" 1 2 3 4 5 6 7 8")
print("1",Plateau_de_jeu[0])
print("2",Plateau_de_jeu[1])
print("3",Plateau_de_jeu[2])
print("4",Plateau_de_jeu[3])
print("5",Plateau_de_jeu[4])
print("6",Plateau_de_jeu[5])
print("7",Plateau_de_jeu[6])
print("8",Plateau_de_jeu[7])
print (' ')
choixdujoueur = randint(1,2)
if choixdujoueur == 1:
print("J1 start, vous avez les pions blanc")
else :
print("J2 start, vous avez les pions noirs")
def coordonneeHorizontal():
global coordonneeH
global coordonneeH1
coordonneeH = int(input("Entrez l'ordonnee : "))
if coordonneeH in [1,2,3,4,5,6,7,8]:
print ("c'est bon, vous avez selectionnez :",coordonneeH)
coordonneeH1 = coordonneeH-1
elif cordonneeH == 0:
print("tour impossible")
else:
print ("c'est pas bon")
coordonneeHorizontal()
def coordonneeVertical():
global coordonneeV
global coordonneeV1
coordonneeV = int(input("Entrez l'abscisse : "))
if coordonneeV in [1,2,3,4,5,6,7,8]:
print ("c'est bon, vous avez selectionnez :",coordonneeV)
coordonneeV1 = coordonneeV-1
else:
print ("c'est pas bon")
coordonneeVertical()
def jouabilite():
global Plateau_de_jeu
global coordonneeH
global coordonneeV
global l
global table_de_jeu
print(coordonneeH,coordonneeV)
if table_de_jeu[coordonneeH][coordonneeV] == 1:
print("choix invalide,presence de 1. prenez une case inoccuper")
tourdujoueur()
elif table_de_jeu[coordonneeH][coordonneeV] == 2:
print("choix invalide,presence de 2. prenez une case inoccuper")
tourdujoueur()
else:
print("verification de la jouabilite...")
if table_de_jeu[coordonneeH-1][coordonneeV]==0 and table_de_jeu[coordonneeH+1][coordonneeV]== 0 and table_de_jeu[coordonneeH][coordonneeV-1]== 0 and table_de_jeu[coordonneeH][coordonneeV+1]== 0 and table_de_jeu[coordonneeH-1][coordonneeV-1]== 0 and table_de_jeu[coordonneeH+1][coordonneeV-1]== 0 and table_de_jeu[coordonneeH+1][coordonneeV+1]== 0 and table_de_jeu[coordonneeH-1][coordonneeV+1] == 0:
print ("erreur de placement : poser a coter d' un jetons")
tourdujoueur()
else:
if table_de_jeu[coordonneeH-1][coordonneeV]!=(choixdujoueur) and table_de_jeu[coordonneeH-1][coordonneeV]!=0 or table_de_jeu[coordonneeH+1][coordonneeV]!=(choixdujoueur) and table_de_jeu[coordonneeH+1][coordonneeV]!=0 or table_de_jeu[coordonneeH][coordonneeV-1]!=(choixdujoueur) and table_de_jeu[coordonneeH][coordonneeV-1]!=0 or table_de_jeu[coordonneeH][coordonneeV+1]!=(choixdujoueur) and table_de_jeu[coordonneeH][coordonneeV+1]!=0 or table_de_jeu[coordonneeH-1][coordonneeV+1]!=(choixdujoueur) and table_de_jeu[coordonneeH-1][coordonneeV+1]!=0 or table_de_jeu[coordonneeH-1][coordonneeV-1]!=(choixdujoueur) and table_de_jeu[coordonneeH-1][coordonneeV-1]!=0 or table_de_jeu[coordonneeH+1][coordonneeV-1]!=(choixdujoueur) and table_de_jeu[coordonneeH+1][coordonneeV-1]!=0 or table_de_jeu[coordonneeH+1][coordonneeV+1]!=(choixdujoueur) and table_de_jeu[coordonneeH+1][coordonneeV+1]!=0:
print("verification de l' encadrement : ")
n = 1
k = 1
l = 0
while table_de_jeu[coordonneeH-n][coordonneeV] != choixdujoueur and table_de_jeu[coordonneeH-n][coordonneeV] != 0:
n = n+1
if table_de_jeu[coordonneeH-n][coordonneeV]==choixdujoueur:
print("c'est bon 1")
for k in range (n):
table_de_jeu[coordonneeH-k][coordonneeV]=choixdujoueur
Plateau_de_jeu[coordonneeH1-k][coordonneeV1]=choixdujoueur
k = k+1
l=1
n=1
while table_de_jeu[coordonneeH+n][coordonneeV]!=(choixdujoueur) and table_de_jeu[coordonneeH+n][coordonneeV]!= 0 :
n=n+1
if table_de_jeu[coordonneeH+n][coordonneeV] == choixdujoueur:
print("c'est bon 2")
for k in range (n):
table_de_jeu[coordonneeH+k][coordonneeV] = choixdujoueur
Plateau_de_jeu[coordonneeH1+k][coordonneeV1] = choixdujoueur
k = k+1
l=1
n=1
while table_de_jeu[coordonneeH][coordonneeV-n]!=(choixdujoueur) and table_de_jeu[coordonneeH][coordonneeV-n]!=0:
n=n+1
if table_de_jeu[coordonneeH][coordonneeV-n] == choixdujoueur:
print("c'est bon 3")
for k in range (n):
table_de_jeu[coordonneeH][coordonneeV-k] = choixdujoueur
Plateau_de_jeu[coordonneeH1][coordonneeV1-k] = choixdujoueur
k=k+1
l=1
n=1
while table_de_jeu[coordonneeH][coordonneeV+n]!=(choixdujoueur) and table_de_jeu[coordonneeH][coordonneeV+n]!=0:
n=n+1
if table_de_jeu[coordonneeH][coordonneeV+n]==(choixdujoueur):
print("c'est bon 4")
for k in range (n):
table_de_jeu[coordonneeH][coordonneeV+k]=(choixdujoueur)
Plateau_de_jeu[coordonneeH1][coordonneeV1+k]=(choixdujoueur)
k=k+1
l=1
n=1
while table_de_jeu[coordonneeH+n][coordonneeV-n]!=(choixdujoueur) and table_de_jeu[coordonneeH+n][coordonneeV-n]!=0:
table_de_jeu[coordonneeH+k][coordonneeV] = choixdujoueur
Plateau_de_jeu[coordonneeH1+k][coordonneeV1] = choixdujoueur n=n+1
if table_de_jeu[coordonneeH+n][coordonneeV-n]==(choixdujoueur):
print("c'est bon 5")
for k in range (n):
table_de_jeu[coordonneeH+k][coordonneeV-k]=(choixdujoueur)
Plateau_de_jeu[coordonneeH1+k][coordonneeV1-k]=(choixdujoueur)
k=k+1
l=1
n=1
while table_de_jeu[coordonneeH+n][coordonneeV+n]!=(choixdujoueur) and table_de_jeu[coordonneeH+n][coordonneeV+n]!=0:
n=n+1
if table_de_jeu[coordonneeH+n][coordonneeV+n]==(choixdujoueur):
print("c'est bon 6")
for k in range (n):
table_de_jeu[coordonneeH+k][coordonneeV+k]=(choixdujoueur)
Plateau_de_jeu[coordonneeH1+k][coordonneeV1+k]=(choixdujoueur)
k=k+1
l=1
n=1
while table_de_jeu[coordonneeH-n][coordonneeV+n]!=(choixdujoueur) and table_de_jeu[coordonneeH-n][coordonneeV+n]!=0:
n=n+1
if table_de_jeu[coordonneeH-n][coordonneeV+n]==(choixdujoueur):
print("c'est bon 7!")
for k in range (n):
table_de_jeu[coordonneeH-k][coordonneeV+k]=(choixdujoueur)
Plateau_de_jeu[coordonneeH1-k][coordonneeV1+k]=(choixdujoueur)
k=k+1
l=1
n=1
while table_de_jeu[coordonneeH-n][coordonneeV-n]!=(choixdujoueur) and table_de_jeu[coordonneeH-n][coordonneeV-n]!=0:
n=n+1
if table_de_jeu[coordonneeH-n][coordonneeV-n]==(choixdujoueur):
print("c'est bon 8")
for k in range (n):
table_de_jeu[coordonneeH-k][coordonneeV-k]=(choixdujoueur)
Plateau_de_jeu[coordonneeH1-k][coordonneeV1-k]=(choixdujoueur)
k=k+1
l=1
if l != 1:
print("veuillez creer un encadrement avec vos pions autour de ceux de l' adversaire")
print(" 1 2 3 4 5 6 7 8 ")
print("1",Plateau_de_jeu[0])
print("2",Plateau_de_jeu[1])
print("3",Plateau_de_jeu[2])
print("4",Plateau_de_jeu[3])
print("5",Plateau_de_jeu[4])
print("6",Plateau_de_jeu[5])
print("7",Plateau_de_jeu[6])
print("8",Plateau_de_jeu[7])
tourdujoueur()
else:
print("c'est valide!")
else:
print("erreur d' encadrement")
tourdujoueur()
def volonteJ():
global VolonteJ, choixdujoueur
VolonteJ = input("entre une commande : ")
print("vous avez choisis de :",VolonteJ)
if VolonteJ == "passez":
if choixdujoueur==1:
choixdujoueur=2
print("c'est desormais au joueur", choixdujoueur,"de jouer")
particontrejoueur()
else:
choixdujoueur=1
print("c'est desormais au joueur", choixdujoueur,"de jouer")
particontrejoueur()
elif VolonteJ == "jouer":
print("c'est parti")
elif VolonteJ == "finir":
VolonteJ = input("etes vous sur ? oui ou non ")
table_de_jeu[coordonneeH+k][coordonneeV] = choixdujoueur
Plateau_de_jeu[coordonneeH1+k][coordonneeV1] = choixdujoueur if VolonteJ == "oui":
comptage()
else:
volonteJ()
else:
print ("entre invalide, vous pouvvez entrer ces commandes :")
print("passez; pour passez le tour")
print("jouer, pour jouer votre tour")
print("finir, pour finir la parti")
volonteJ()
def comptage():
print("comptage des jetons")
partifini = 1
blanc=0
noir=0
nul=0
n=0
while n7 :
ligne=0
while ligne 7:
if Plateau_de_jeu[ligne][n]==1:
blanc = blanc +1
elif Plateau_de_jeu[ligne][n]==2:
noir = noir+1
else:
nul = nul +1
ligne = ligne+1
n = n+1
print("il y as",blanc,"pions blancs")
print("il y as",noir,"pions noirs")
print("il y as",nul,"case vide")
if blanc noir:
print("J1 gagne")
elif blanc noir:
print("J2 gagne")
else:
print("egaliter")
rep = input("voulez vous rejouer : oui ou non ? ")
if rep == "oui":
jeux()
else:
print("Au revoir")
sys.exit()
def MAJtableau():
global Plateau_de_jeu
global coordonneeH
global coordonneeV
table_de_jeu[coordonneeH][coordonneeV]=choixdujoueur
Plateau_de_jeu[coordonneeH1][coordonneeV1]=choixdujoueur
print(" 1 2 3 4 5 6 7 8")
print("1",Plateau_de_jeu[0])
print("2",Plateau_de_jeu[1])
print("3",Plateau_de_jeu[2])
print("4",Plateau_de_jeu[3])
print("5",Plateau_de_jeu[4])
print("6",Plateau_de_jeu[5])
print("7",Plateau_de_jeu[6])
print("8",Plateau_de_jeu[7])
print (' ')
def tourdujoueur():
global Plateau_de_jeu
global coordonneeH
global coordonneeV
volonteJ()
coordonneeVertical()
coordonneeHorizontal()
jouabilite()
def particontrejoueur():
while partifini == 0:
global choixdujoueur
if choixdujoueur == 1:
tourdujoueur()
MAJtableau()
choixdujoueur = 2
print("tour fini, passer maintenant a joueur 2")
else:
tourdujoueur()
MAJtableau()
choixdujoueur = 1
print("tour fini, passer maintenant a joueur 1")
print("joueur",choixdujoueur)
def particontreAI():
tableaux()
particontrejoueur()
def jeux():
tableaux()
particontrejoueur()
jeux()