[Echecs] Dame : Ajout du "Souffler n'est pas jouer"

This commit is contained in:
Geoffrey Frogeye 2014-12-14 21:39:11 +01:00
parent 80a831bd38
commit 7d6253b3ab

View file

@ -215,8 +215,7 @@ class LogiqueDames(Logique):
"""
test = self.deplPossible(x1, y1, x2, y2)
if test == self.MVT_OK:
# TODO Vérifier le souffler n'est pas jouer
if False:
if self.sautEstPossibleTous():
return self.MVT_SOUFFLER
else:
return test
@ -242,10 +241,21 @@ class LogiqueDames(Logique):
tableau = []
for x2 in range(0, self.CASES_COTE):
for y2 in range(0, self.CASES_COTE):
if self.mvtPossible(x1, y1, x2, y2) == self.MVT_SAUT:
if self.deplPossible(x1, y1, x2, y2) == self.MVT_SAUT:
tableau.append([x2, y2])
return tableau
def sautEstPossibleTous(self):
"""
Indique si le joueur peut faire un saut.
"""
for x in range(0, self.CASES_COTE):
for y in range(0, self.CASES_COTE):
if self.aSonTour(self.grille[x][y]):
if len(self.sautsPossibles(x, y)) > 0:
return True
return False
def mvtsPossibles(self, x1, y1):
"""
Donne la liste des mouvements possible pour la pièce donnée.
@ -258,18 +268,6 @@ class LogiqueDames(Logique):
tableau.append([x2, y2])
return tableau
def dPieceSansSouffler(self, x1, y1, x2, y2):
"""
Déplace la pièce aux coordonnées 1 données aux coordonnées 2 données.
Ne vérifie pas le "Souffler n'est pas jouer".
(Est utilisé dans pour cette détection)
"""
test = self.deplPossible(x1, y1, x2, y2)
if test == self.MVT_OK:
self.grille[x1][y1], self.grille[x2][
y2] = self.PCE_VIDE, self.grille[x1][y1]
self.joueur = not self.joueur
def vPartieFinie(self):
"""
Vérifie si le joueur actuel ne peut plus jouer.