[Echecs] Ajout de la promotion du pion
This commit is contained in:
parent
7d6253b3ab
commit
a1f3dfb769
|
@ -342,8 +342,8 @@ class PlateauTk:
|
|||
"""
|
||||
test = self.logique.dPiece(x1, y1, x2, y2)
|
||||
if test['valide'] == True: # Si déplacement possible
|
||||
for s in test['supprimer']:
|
||||
self.animerF(self.grillePieces[s[0]][s[1]])
|
||||
# TODO L'ordre de vérification des animations importe beaucoup. Il faudrait trouver un
|
||||
# moyen de rendre ceci moins fragile
|
||||
for d in test['deplacer']:
|
||||
self.grillePieces[d[2]][d[3]], self.grillePieces[d[0]][d[1]] = \
|
||||
self.grillePieces[d[0]][d[1]], False
|
||||
|
@ -351,6 +351,11 @@ class PlateauTk:
|
|||
(d[2] + .5) *
|
||||
self.coteCase, (d[3] + .5) * self.coteCase,
|
||||
self.grillePieces[d[2]][d[3]])
|
||||
for s in test['supprimer']:
|
||||
self.animerF(self.grillePieces[s[0]][s[1]])
|
||||
for a in test['ajouter']:
|
||||
# TODO Ajouter une animation
|
||||
self.cPiece(a[0], a[1], a[2])
|
||||
else:
|
||||
self.statut('Déplacment invalide ! (' + test['message'] + ')')
|
||||
return test['valide']
|
||||
|
|
|
@ -87,6 +87,7 @@ class LogiqueDames(Logique):
|
|||
Logique du jeu de Dames
|
||||
"""
|
||||
CASES_COTE = 10
|
||||
RANGEES = 4
|
||||
|
||||
PCE_PION = 1
|
||||
PCE_DAME = 2
|
||||
|
@ -122,11 +123,11 @@ class LogiqueDames(Logique):
|
|||
"""
|
||||
Remplis la grille avec les pièces nécessaire à une nouvelle partie.
|
||||
"""
|
||||
for y in range(0, 3+1):
|
||||
for y in range(0, self.RANGEES):
|
||||
for x in range(0, self.CASES_COTE):
|
||||
if not self.eCaseBlanche(x, y):
|
||||
self.grille[x][y] = self.DECALAGE_NOIRS + self.PCE_PION
|
||||
for y in range(self.CASES_COTE-3-1, self.CASES_COTE):
|
||||
for y in range(self.CASES_COTE-self.RANGEES, self.CASES_COTE):
|
||||
for x in range(0, self.CASES_COTE):
|
||||
if not self.eCaseBlanche(x, y):
|
||||
self.grille[x][y] = self.DECALAGE_BLANCS + self.PCE_PION
|
||||
|
@ -290,6 +291,7 @@ class LogiqueDames(Logique):
|
|||
retour = {
|
||||
'valide': False,
|
||||
'message': test,
|
||||
'ajouter': [], # Pièces à ajouter
|
||||
'deplacer': [], # Pièces à déplacer
|
||||
'supprimer': [], # Pièces à supprimer
|
||||
}
|
||||
|
@ -306,6 +308,13 @@ class LogiqueDames(Logique):
|
|||
self.rafle = True
|
||||
else:
|
||||
self.rafle = False
|
||||
piece = self.grille[x2][y2]
|
||||
if self.tPiece(piece) == self.PCE_PION and ((self.ePieceBlanche(piece) and \
|
||||
y2 == 0) or (self.ePieceNoire(piece) and y2 == self.CASES_COTE - 1)):
|
||||
self.grille[x2][y2] = (self.DECALAGE_BLANCS if self.ePieceBlanche(piece) else \
|
||||
self.DECALAGE_NOIRS) + self.PCE_DAME
|
||||
retour['supprimer'].append([x2, y2])
|
||||
retour['ajouter'].append([x2, y2, self.grille[x2][y2]])
|
||||
self.joueur = not self.joueur
|
||||
self.vPartieFinie()
|
||||
return retour
|
||||
|
|
Reference in a new issue