Commit fe59943f authored by Pauline LEYRIT's avatar Pauline LEYRIT
Browse files

ok

parent d5455caa
# auteur : Pauline
from PyQt5.QtWidgets import * from PyQt5.QtWidgets import *
from PyQt5.QtGui import * from PyQt5.QtGui import *
...@@ -45,12 +45,8 @@ class Window(QMainWindow): ...@@ -45,12 +45,8 @@ class Window(QMainWindow):
button_joueur1.setGeometry(720, 0, 100, 50) # défini sa position et sa taille button_joueur1.setGeometry(720, 0, 100, 50) # défini sa position et sa taille
button_joueur1.clicked.connect(self.joueur1) # lie l'action de cliquer sur le bouton à l'appel de la fonction citée button_joueur1.clicked.connect(self.joueur1) # lie l'action de cliquer sur le bouton à l'appel de la fonction citée
button_joueur2 = QPushButton("joueur2", self)
button_joueur2.setGeometry(720, 70, 100, 50)
button_joueur2.clicked.connect(self.joueur2)
button_IA = QPushButton("IA", self) button_IA = QPushButton("IA", self)
button_IA.setGeometry(720, 140, 100, 50) button_IA.setGeometry(720, 70, 100, 50)
button_IA.clicked.connect(self.IA) button_IA.clicked.connect(self.IA)
#on définit les boutons liés aux fonctions #on définit les boutons liés aux fonctions
...@@ -252,6 +248,9 @@ class Window(QMainWindow): ...@@ -252,6 +248,9 @@ class Window(QMainWindow):
self.prochain = self.rh # liste des pions définis dans la classe pièce, du prohain joueur (l'autre) self.prochain = self.rh # liste des pions définis dans la classe pièce, du prohain joueur (l'autre)
self.dernier_bouton = '' # permet de cconnaitre sur quel bouton le joueur a cliqué en dernier self.dernier_bouton = '' # permet de cconnaitre sur quel bouton le joueur a cliqué en dernier
self.mont_sorti = self.mont[0] # permet de reconnaitre la fin du jeux : on connaitra quelle montagne est sorti, et donc sa position self.mont_sorti = self.mont[0] # permet de reconnaitre la fin du jeux : on connaitra quelle montagne est sorti, et donc sa position
self.pousse = False # à l'appel de pousser(), nous permet de savoir si entrer en poussant a bien eu lieu
# si ce n'est pas le cas, on remt la pièce à sa place initiale
#pour l'ia: #pour l'ia:
self.qui = 'humain' self.qui = 'humain'
self.coup_possible = ["déplacer", "tourner", "entrer", "sortir","pousser", "entrer en poussant", ] self.coup_possible = ["déplacer", "tourner", "entrer", "sortir","pousser", "entrer en poussant", ]
...@@ -301,20 +300,7 @@ class Window(QMainWindow): ...@@ -301,20 +300,7 @@ class Window(QMainWindow):
"fonction que vous voulez lui appliquer") "fonction que vous voulez lui appliquer")
self.zone_txt.addItem(self.texte) self.zone_txt.addItem(self.texte)
self.texte.setPos(0,0) self.texte.setPos(0,0)
def joueur2(self):
"""
de la même façon, mais pour le cas ou le joueur joue les rhinocéros
"""
self.zone_txt.clear()
self.joueur_qg = self.liste_rh_qg
self.joueur = self.rh
self.prochain = self.ele
self.qui = 'humain'
self.texte= QGraphicsTextItem("c'est au tour du joueur 2: les rhinocéros" '\n'
"Choisissez un de vos pions avant de choisir la" '\n'
"fonction que vous voulez lui appliquer")
self.zone_txt.addItem(self.texte)
self.texte.setPos(0,0)
def IA(self): def IA(self):
""" """
...@@ -333,9 +319,9 @@ class Window(QMainWindow): ...@@ -333,9 +319,9 @@ class Window(QMainWindow):
self.texte.setPos(0,0) self.texte.setPos(0,0)
self.a_toune = False #à l'appel d'une fonction, la pièce n'a pas encore tourné self.a_toune = False #à l'appel d'une fonction, la pièce n'a pas encore tourné
self.coup=self.coup_possible[randint(0,4)] self.coup=self.coup_possible[randint(0,6)]
print(self.coup)
self.dernier_bouton = str(self.coup) self.dernier_bouton = str(self.coup)
self.ok() self.ok()
...@@ -352,7 +338,7 @@ class Window(QMainWindow): ...@@ -352,7 +338,7 @@ class Window(QMainWindow):
if self.dernier_bouton == 'déplacer': if self.dernier_bouton == 'déplacer':
if self.qui == 'ia' : if self.qui == 'ia' :
print('ia déplace')
self.pion_select_num = randint(1,6) self.pion_select_num = randint(1,6)
self.pion_select = self.joueur_qg[self.pion_select_num-1] self.pion_select = self.joueur_qg[self.pion_select_num-1]
abs0, ord0 = self.joueur[self.pion_select_num-1].coords #anciennes coords avant de se déplace abs0, ord0 = self.joueur[self.pion_select_num-1].coords #anciennes coords avant de se déplace
...@@ -379,7 +365,7 @@ class Window(QMainWindow): ...@@ -379,7 +365,7 @@ class Window(QMainWindow):
x0, y0 = 65.5*(self.joueur[self.pion_select_num - 1].coords[0] - (l)), (self.joueur[self.pion_select_num - 1].coords[1] - (self.pion_select_num -1) )*65.5 x0, y0 = 65.5*(self.joueur[self.pion_select_num - 1].coords[0] - (l)), (self.joueur[self.pion_select_num - 1].coords[1] - (self.pion_select_num -1) )*65.5
if self.qui == 'humain': if self.qui == 'humain':
x, y = self.pion_select.x() - x0, self.pion_select.y()- y0 # mouvement effectué par rapport à la dernière case x, y = self.pion_select.x() - x0, self.pion_select.y()- y0 # mouvement effectué par rapport à la dernière case
print(x,y, 'xy')
else : else :
self.joueur[self.pion_select_num-1].coords = [self.abs, self.ord] self.joueur[self.pion_select_num-1].coords = [self.abs, self.ord]
x1, y1 = 65.5 * (self.joueur[self.pion_select_num - 1].coords[0] - (l)), ( x1, y1 = 65.5 * (self.joueur[self.pion_select_num - 1].coords[0] - (l)), (
...@@ -416,7 +402,7 @@ class Window(QMainWindow): ...@@ -416,7 +402,7 @@ class Window(QMainWindow):
else : else :
self.joueur[self.pion_select_num-1].coords = [self.abs, self.ord] self.joueur[self.pion_select_num-1].coords = [self.abs, self.ord]
print(self.joueur[self.pion_select_num-1].coords)
for k in range(len(self.joueur)): for k in range(len(self.joueur)):
if (self.joueur[self.pion_select_num - 1].coords == self.joueur[k].coords and k!= self.pion_select_num - 1) or \ if (self.joueur[self.pion_select_num - 1].coords == self.joueur[k].coords and k!= self.pion_select_num - 1) or \
(self.joueur[self.pion_select_num - 1].coords == self.prochain[k].coords) \ (self.joueur[self.pion_select_num - 1].coords == self.prochain[k].coords) \
...@@ -424,35 +410,39 @@ class Window(QMainWindow): ...@@ -424,35 +410,39 @@ class Window(QMainWindow):
# on vérifie que la nouvelle position ne soit pas occupée par un autre de nos pions, un des pions # on vérifie que la nouvelle position ne soit pas occupée par un autre de nos pions, un des pions
# du joueur adverse, ou par une montagne # du joueur adverse, ou par une montagne
bool1 = False bool1 = False
self.texte = QGraphicsTextItem("Vous ne pouvez pas vous déplacer sur une case déjà occupée") if self.qui == 'humain' : #on souhaite afficher les commentaires uniquement pour l'humain, puisque
self.zone_txt.addItem(self.texte) #l'ia fait de nombreux essais avant d'arriver à un coup valide
self.texte.setPos(0,150) self.texte = QGraphicsTextItem("Vous ne pouvez pas vous déplacer sur une case déjà occupée")
self.zone_txt.addItem(self.texte)
self.texte.setPos(0,150)
if ((55 < x < 75 or -75 < x < -55) and -10<y <10) or ((55 < y < 75 or -75 < y < -55) and -10< x< 10): if ((55 < x < 75 or -75 < x < -55) and -10<y <10) or ((55 < y < 75 or -75 < y < -55) and -10< x< 10):
bool2 = True # deplacement autorisé bool2 = True # deplacement autorisé
if self.joueur[self.pion_select_num-1].coords[0] in [-2, -1, 5, 6] or self.joueur[self.pion_select_num-1].coords[1] in [ -1, 5]: if self.joueur[self.pion_select_num-1].coords[0] in [-2, -1, 5, 6] or self.joueur[self.pion_select_num-1].coords[1] in [ -1, 5]:
# le joueur a placé sa pièce hors du plateau # le joueur a placé sa pièce hors du plateau
self.texte = QGraphicsTextItem("Vous êtes hors du plateau") if self.qui == 'humain':
self.zone_txt.addItem(self.texte) self.texte = QGraphicsTextItem("Vous êtes hors du plateau")
self.texte.setPos(0,160) self.zone_txt.addItem(self.texte)
self.texte.setPos(0,160)
bool3 = False bool3 = False
else : else :
bool3 = True # toujour sur le plateau bool3 = True # toujour sur le plateau
else : else :
self.texte = QGraphicsTextItem("Vous ne pouvez pas vous déplacer ici:"'\n' if self.qui == 'humain':
"veuillez vous déplacer d'une case, horizontalement"'\n' self.texte = QGraphicsTextItem("Vous ne pouvez pas vous déplacer ici:"'\n'
"ou verticalement") "veuillez vous déplacer d'une case, horizontalement"'\n'
self.zone_txt.addItem(self.texte) "ou verticalement")
self.texte.setPos(0, 170) self.zone_txt.addItem(self.texte)
self.texte.setPos(0, 170)
bool2 = False bool2 = False
print(bool1, bool2, bool3, 'bool')
if not (bool1 and bool2 and bool3): if not (bool1 and bool2 and bool3):
self.texte = QGraphicsTextItem("Votre déplacement n'est pas valide: veuillez rejouer") if self.qui == 'humain':
self.zone_txt.addItem(self.texte) self.texte = QGraphicsTextItem("Votre déplacement n'est pas valide: veuillez rejouer")
self.texte.setPos(0, 230) self.zone_txt.addItem(self.texte)
if self.qui=='humain': self.texte.setPos(0, 230)
# le coup n'était pas valide : le pion reprends sa place (quil avait juste avant le coup) # le coup n'était pas valide : le pion reprends sa place (quil avait juste avant le coup)
# on doit réenregistrer les anciennes coordonnées dans la liste self.joueur et changer la position du widget sur le plateau # on doit réenregistrer les anciennes coordonnées dans la liste self.joueur et changer la position du widget sur le plateau
...@@ -462,18 +452,18 @@ class Window(QMainWindow): ...@@ -462,18 +452,18 @@ class Window(QMainWindow):
else: else:
self.joueur[int(self.pion_select_num - 1)].coords = [abs0, ord0] self.joueur[int(self.pion_select_num - 1)].coords = [abs0, ord0]
print(self.joueur[int(self.pion_select_num - 1)].coords, self.joueur[int(self.pion_select_num - 1)].car())
self.pion_select.setPos(x0,y0) # le pion retourne à sa place self.pion_select.setPos(x0,y0) # le pion retourne à sa place
if self.qui == 'ia': # if self.qui == 'ia':
print('pas de déplacement') #
self.IA() #le tour n'a pas marché, l'ia doit rejouer # self.IA() #le tour n'a pas marché, l'ia doit rejouer
else: else:
self.tourne() # si le changement de position était valide, le joueur peut aussi tourner son pion self.tourne() # si le changement de position était valide, le joueur peut aussi tourner son pion
# la fonction tourne indiquera que le tour est terminé # la fonction tourne indiquera que le tour est terminé
if self.a_toune == True: # if self.a_toune == True:
if self.qui == 'ia': # if self.qui == 'ia':
self.joueur1() # self.joueur1()
self.joueur_qg[self.pion_select_num - 1].setFlag(QGraphicsItem.ItemIsMovable, enabled=False) self.joueur_qg[self.pion_select_num - 1].setFlag(QGraphicsItem.ItemIsMovable, enabled=False)
...@@ -488,7 +478,6 @@ class Window(QMainWindow): ...@@ -488,7 +478,6 @@ class Window(QMainWindow):
# code similaire à celui de la fonction entrer de la classe pièce mais on change la aussi les pioons de place # code similaire à celui de la fonction entrer de la classe pièce mais on change la aussi les pioons de place
if self.qui == 'ia': if self.qui == 'ia':
print('ia entre')
self.pion_select_num = randint(1, 6) self.pion_select_num = randint(1, 6)
self.pion_select = self.joueur_qg[self.pion_select_num-1] self.pion_select = self.joueur_qg[self.pion_select_num-1]
...@@ -502,10 +491,10 @@ class Window(QMainWindow): ...@@ -502,10 +491,10 @@ class Window(QMainWindow):
#on intègre les nouvelles coordonnées: #on intègre les nouvelles coordonnées:
x0, y0 = 65.5 * (self.joueur[self.pion_select_num - 1].coords[0] - (l)), ( x0, y0 = 65.5 * (self.joueur[self.pion_select_num - 1].coords[0] - (l)), (
self.joueur[self.pion_select_num - 1].coords[1] - (self.pion_select_num - 1)) * 65.5 self.joueur[self.pion_select_num - 1].coords[1] - (self.pion_select_num - 1)) * 65.5
[a0, b0] = self.joueur[int(self.pion_select_num - 1)].coords # coordonnées avant d'avoir joué
if self.qui == 'humain': if self.qui == 'humain':
x, y = self.pion_select.x() - x0, self.pion_select.y() - y0 x, y = self.pion_select.x() - x0, self.pion_select.y() - y0
[a0, b0] = self.joueur[int(self.pion_select_num - 1)].coords
[a, b] = self.joueur[int(self.pion_select_num - 1)].coords [a, b] = self.joueur[int(self.pion_select_num - 1)].coords
if x > 0: if x > 0:
...@@ -520,7 +509,6 @@ class Window(QMainWindow): ...@@ -520,7 +509,6 @@ class Window(QMainWindow):
self.joueur[int(self.pion_select_num - 1)].coords = [a, b] self.joueur[int(self.pion_select_num - 1)].coords = [a, b]
else: else:
print(self.abs, self.ord, "abs ord")
self.joueur[int(self.pion_select_num - 1)].coords = [self.abs, self.ord] self.joueur[int(self.pion_select_num - 1)].coords = [self.abs, self.ord]
i = self.joueur[self.pion_select_num - 1].coords[0] i = self.joueur[self.pion_select_num - 1].coords[0]
...@@ -532,42 +520,41 @@ class Window(QMainWindow): ...@@ -532,42 +520,41 @@ class Window(QMainWindow):
if (self.joueur[self.pion_select_num - 1].coords == self.joueur[k].coords and k!= self.pion_select_num - 1) \ if (self.joueur[self.pion_select_num - 1].coords == self.joueur[k].coords and k!= self.pion_select_num - 1) \
or (self.joueur[self.pion_select_num - 1].coords == self.prochain[k].coords) or \ or (self.joueur[self.pion_select_num - 1].coords == self.prochain[k].coords) or \
(k<3 and self.joueur[self.pion_select_num - 1].coords == self.mont[k].coords): (k<3 and self.joueur[self.pion_select_num - 1].coords == self.mont[k].coords):
print('deja prise')
bool1 = False bool1 = False
bool2=False bool2=False
#on va vérifier que le joueur entre sur une case du bord du plateau #on va vérifier que le joueur entre sur une case du bord du plateau
if (( i == 0 or i == 4) and -1 < j < 5) or ((j == 4 or j == 0 )and -1 < i < 5): if (( i == 0 or i == 4) and -1 < j < 5) or ((j == 4 or j == 0 )and -1 < i < 5):
print(self.joueur[self.pion_select_num-1].car(), self.joueur[self.pion_select_num-1].coords)
bool2 = True bool2 = True
if bool and bool1 and bool2: #toutes les conditions sont vérifiées pour pouvoir entrer if bool and bool1 and bool2: #toutes les conditions sont vérifiées pour pouvoir entrer
self.tourne() #on ne tourne que si toutes les conditions pour entrer sont valides self.tourne() #on ne tourne que si toutes les conditions pour entrer sont valides
#celle ci affichera que c'est la fin du tour #celle ci affichera que c'est la fin du tour
print(self.a_toune, 'toune')
if self.a_toune == True: #vérifie que la pièce a tourné une fois if self.a_toune == True: #vérifie que la pièce a tourné une fois
if self.qui == 'ia': if self.qui == 'ia':
l= -2 #car l'ia joue les rhinos l= -2 #car l'ia joue les rhinos
x1,y1 = 65.5*(self.joueur[self.pion_select_num - 1].coords[0] - (l)), (self.joueur[self.pion_select_num - 1].coords[1] - (self.pion_select_num -1) )*65.5 x1,y1 = 65.5*(self.joueur[self.pion_select_num - 1].coords[0] - (l)), (self.joueur[self.pion_select_num - 1].coords[1] - (self.pion_select_num -1) )*65.5
print(x1, y1, 'x1')
self.pion_select.setPos(x1, y1) #le tour marche, donc on peut bouger la pièce self.pion_select.setPos(x1, y1) #le tour marche, donc on peut bouger la pièce
print('piece entrée')
self.joueur1() #l'ia a joué, au tour du joueur 1
else: # mouvement non valide
self.texte = QGraphicsTextItem("une pièce ne peut entrer sur le plateau que sur une case extérieure," #self.joueur1() #l'ia a joué, au tour du joueur 1
"si elle est déjà sur le plateau ou si la case est déjà prise : Rejouez") else: # mouvement non valide
self.zone_txt.addItem(self.texte) if self.qui == 'humain':
self.texte.setPos(0, 170) self.texte = QGraphicsTextItem("une pièce ne peut entrer sur le plateau que sur une case extérieure,"
"si elle est déjà sur le plateau ou si la case est déjà prise : Rejouez")
self.zone_txt.addItem(self.texte)
self.texte.setPos(0, 170)
self.pion_select.setPos(x0, y0) #le pion retourne à sa position précéddente car le coup n'était pas valide, le joueur doir rejouer self.pion_select.setPos(x0, y0) #le pion retourne à sa position précéddente car le coup n'était pas valide, le joueur doir rejouer
self.joueur[self.pion_select_num-1].coords = [a0, b0] #on réenregistre sa postion (correspondante à celle self.joueur[self.pion_select_num-1].coords = [a0, b0] #on réenregistre sa postion (correspondante à celle
print(self.joueur[self.pion_select_num-1].coords) #qu'il a sur le plateau, donc la position initiale # if self.qui == 'ia':
if self.qui == 'ia': # self.IA() # le tour n'a pas marché, l'ia doit rejouer
self.IA() # le tour n'a pas marché, l'ia doit rejouer
print('je rejoue dans le premier cas')
...@@ -579,7 +566,7 @@ class Window(QMainWindow): ...@@ -579,7 +566,7 @@ class Window(QMainWindow):
l = -2 l = -2
if self.qui == 'ia': if self.qui == 'ia':
print('ia entre')
self.pion_select_num = randint(0, 5) +1 self.pion_select_num = randint(0, 5) +1
self.pion_select = self.joueur_qg[self.pion_select_num-1] self.pion_select = self.joueur_qg[self.pion_select_num-1]
...@@ -589,20 +576,23 @@ class Window(QMainWindow): ...@@ -589,20 +576,23 @@ class Window(QMainWindow):
# fonction (comme entrer en poussant dans le cas de pièces) # fonction (comme entrer en poussant dans le cas de pièces)
self.joueur[self.pion_select_num-1].coords = [l, self.pion_select_num-1] #coordonnées initiales de la pièce self.joueur[self.pion_select_num-1].coords = [l, self.pion_select_num-1] #coordonnées initiales de la pièce
self.pion_select.setPos(0, 0) #remet le widget à sa position initiale self.pion_select.setPos(0, 0) #remet le widget à sa position initiale
self.texte = QGraphicsTextItem(
"Votre pièce est bien sortie du plateau, au tour des {0}".format(self.prochain[0].car())) if self.qui == 'humain':
self.zone_txt.addItem(self.texte) self.texte = QGraphicsTextItem(
self.texte.setPos(0, 150) "Votre pièce est bien sortie du plateau, au tour des {0}".format(self.prochain[0].car()))
if self.qui == 'ia': self.zone_txt.addItem(self.texte)
self.joueur1() self.texte.setPos(0, 150)
# if self.qui == 'ia':
# self.joueur1()
else : else :
self.texte = QGraphicsTextItem( if self.qui == 'humain':
"vous ne pouvez sortir su plateau que si votre pion est sur une case extérieur, rejouez") self.texte = QGraphicsTextItem(
self.zone_txt.addItem(self.texte) "vous ne pouvez sortir su plateau que si votre pion est sur une case extérieur, rejouez")
self.texte.setPos(0, 150) self.zone_txt.addItem(self.texte)
if self.qui == 'ia': self.texte.setPos(0, 150)
self.IA() #le tour n'a pas marché, l'ia doit rejouer # if self.qui == 'ia':
# self.IA() #le tour n'a pas marché, l'ia doit rejouer
if self.dernier_bouton == 'pousser': if self.dernier_bouton == 'pousser':
...@@ -611,7 +601,7 @@ class Window(QMainWindow): ...@@ -611,7 +601,7 @@ class Window(QMainWindow):
#lorsqu'elles changent de coordonnées #lorsqu'elles changent de coordonnées
if self.qui == 'ia': if self.qui == 'ia':
print('ia entre')
self.pion_select_num = randint(0, 5) +1 self.pion_select_num = randint(0, 5) +1
self.pion_select = self.joueur_qg[self.pion_select_num-1] self.pion_select = self.joueur_qg[self.pion_select_num-1]
...@@ -649,7 +639,7 @@ class Window(QMainWindow): ...@@ -649,7 +639,7 @@ class Window(QMainWindow):
if piece.coords[0] == i: if piece.coords[0] == i:
V.append(piece) # de même pour la colonne V.append(piece) # de même pour la colonne
#on fait maintenant les mêmes cas (selon l'oorientation) que dans la fonction pousser de la classe pièce #on fait maintenant les mêmes cas (selon l'oorientation) que dans la fonction pousser de la classe pièce
if orientation == 'g': if orientation == 'g' and i in [0,1,2,3,4] and j in [0,1,2,3,4]:
piece_gauche = self.joueur[self.pion_select_num-1] piece_gauche = self.joueur[self.pion_select_num-1]
for k in range(len(H)): # pour etre sur de ne pas louper une piece qui serait à gauche for k in range(len(H)): # pour etre sur de ne pas louper une piece qui serait à gauche
for piece in H: for piece in H:
...@@ -691,26 +681,30 @@ class Window(QMainWindow): ...@@ -691,26 +681,30 @@ class Window(QMainWindow):
if piece.coords[0]<0: #une montagne est sortie du plateau : le jeu est terminé if piece.coords[0]<0: #une montagne est sortie du plateau : le jeu est terminé
self.mont_sorti = piece #on enregistre quelle montagne est sorti (pour connaitre sa position) self.mont_sorti = piece #on enregistre quelle montagne est sorti (pour connaitre sa position)
self.vainqueur() #on appelle la fonction qui nous indiquera le gagnant self.vainqueur() #on appelle la fonction qui nous indiquera le gagnant
self.texte = QGraphicsTextItem( if self.qui == 'humain':
"Vous avez poussé, au tour des {0}".format(self.prochain[0].car())) self.texte = QGraphicsTextItem(
self.zone_txt.addItem(self.texte) "Vous avez poussé, au tour des {0}".format(self.prochain[0].car()))
self.texte.setPos(0, 150) self.zone_txt.addItem(self.texte)
if self.qui == 'ia': self.texte.setPos(0, 150)
self.joueur1() # if self.qui == 'ia':
# self.joueur1()
self.pousse = True
else: #la force de poussée n'était pas suffisante else: #la force de poussée n'était pas suffisante
self.texte = QGraphicsTextItem( if self.qui == 'humain':
"vous ne pouvez pas effectuer cette poussée:"'\n' self.texte = QGraphicsTextItem(
" vous navez pas assez de force de poussée"'\n' "vous ne pouvez pas effectuer cette poussée:"'\n'
"Rejouez") " vous navez pas assez de force de poussée"'\n'
self.zone_txt.addItem(self.texte) "Rejouez")
self.texte.setPos(0, 150) self.zone_txt.addItem(self.texte)
if self.qui == 'ia': self.texte.setPos(0, 150)
self.IA() # if self.qui == 'ia':
# self.IA()
self.pousse = False
#on réitère pour les trois autres orientations #on réitère pour les trois autres orientations
if orientation == 'd': if orientation == 'd' and i in [0,1,2,3,4] and j in [0,1,2,3,4]:
piece_droite = self.joueur[self.pion_select_num-1] piece_droite = self.joueur[self.pion_select_num-1]
for k in range(len(H)): for k in range(len(H)):
for piece in H: for piece in H:
...@@ -751,24 +745,27 @@ class Window(QMainWindow): ...@@ -751,24 +745,27 @@ class Window(QMainWindow):
if piece.coords[0]>4: if piece.coords[0]>4:
self.mont_sorti = piece self.mont_sorti = piece
self.vainqueur() self.vainqueur()
self.texte = QGraphicsTextItem( if self.qui == 'humain':
"Vous avez poussé, au tour des {0}".format(self.prochain[0].car())) self.texte = QGraphicsTextItem(
self.zone_txt.addItem(self.texte) "Vous avez poussé, au tour des {0}".format(self.prochain[0].car()))
self.texte.setPos(0, 150) self.zone_txt.addItem(self.texte)
if self.qui == 'ia': self.texte.setPos(0, 150)
self.joueur1() # if self.qui == 'ia':
# self.joueur1()
self.pousse = True
else: else:
print('vous ne pouvez pas effectuer cette poussée: vous navez pas assez de force de poussée') if self.qui == 'humain':
self.texte = QGraphicsTextItem( self.texte = QGraphicsTextItem(
"vous ne pouvez pas effectuer cette poussée:"'\n' "vous ne pouvez pas effectuer cette poussée:"'\n'
" vous navez pas assez de force de poussée"'\n' " vous navez pas assez de force de poussée"'\n'
"Rejouez") "Rejouez")
self.zone_txt.addItem(self.texte) self.zone_txt.addItem(self.texte)
self.texte.setPos(0, 150) self.texte.setPos(0, 150)
if self.qui == 'ia': # if self.qui == 'ia':
self.IA() # self.IA()
self.pousse =False
if orientation == 'h':
if orientation == 'h' and i in [0,1,2,3,4] and j in [0,1,2,3,4]:
piece_haut = self.joueur[self.pion_select_num-1] piece_haut = self.joueur[self.pion_select_num-1]
for k in range(len(V)): for k in range(len(V)):
for piece in V: for piece in V:
...@@ -809,24 +806,27 @@ class Window(QMainWindow): ...@@ -809,24 +806,27 @@ class Window(QMainWindow):
if piece.coords[1] < 0: if piece.coords[1] < 0:
self.mont_sorti = piece self.mont_sorti = piece
self.vainqueur() self.vainqueur()
self.texte = QGraphicsTextItem( if self.qui == 'humain':
"Vous avez poussé, au tour des {0}".format(self.prochain[0].car())) self.texte = QGraphicsTextItem(
self.zone_txt.addItem(self.texte) "Vous avez poussé, au tour des {0}".format(self.prochain[0].car()))
self.texte.setPos(0, 150) self.zone_txt.addItem(self.texte)
if self.qui == 'ia': self.texte.setPos(0, 150)
self.joueur1() # if self.qui == 'ia':
# self.joueur1()
self.pousse = True
else: else:
print('vous ne pouvez pas effectuer cette poussée: vous navez pas assez de force de poussée') if self.qui == 'humain':
self.texte = QGraphicsTextItem( self.texte = QGraphicsTextItem(
"vous ne pouvez pas effectuer cette poussée:"'\n' "vous ne pouvez pas effectuer cette poussée:"'\n'
" vous navez pas assez de force de poussée"'\n' " vous navez pas assez de force de poussée"'\n'
"Rejouez") "Rejouez")
self.zone_txt.addItem(self.texte) self.zone_txt.addItem(self.texte)
self.texte.setPos(0, 150) self.texte.setPos(0, 150)
if self.qui == 'ia': # if self.qui == 'ia':
self.IA() # self.IA()
self.pousse = False
if orientation == 'b': if orientation == 'b' and i in [0,1,2,3,4] and j in [0,1,2,3,4]:
piece_haut = self.joueur[self.pion_select_num-1] piece_haut = self.joueur[self.pion_select_num-1]
for k in range(len(V)): for k in range(len(V)):
for piece in V: for piece in V:
...@@ -867,22 +867,33 @@ class Window(QMainWindow): ...@@ -867,22 +867,33 @@ class Window(QMainWindow):
if piece.coords[1] > 4: if piece.coords[1] > 4:
self.mont_sorti = piece self.mont_sorti = piece
self.vainqueur() self.vainqueur()
self.texte = QGraphicsTextItem( if self.qui == 'humain':
"Vous avez poussé, au tour des {0}".format(self.prochain[0].car())) self.texte = QGraphicsTextItem(
self.zone_txt.addItem(self.texte) "Vous avez poussé, au tour des {0}".format(self.prochain[0].car()))
self.texte.setPos(0, 150) self.zone_txt.addItem(self.texte)
if self.qui == 'ia': self.texte.setPos(0, 150)
self.joueur1 # if self.qui == 'ia':
# self.joueur1()
self.pousse = True