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