diff --git a/S1/Echecs/guiTk.py b/S1/Echecs/guiTk.py index a0b11b8..f8ab643 100644 --- a/S1/Echecs/guiTk.py +++ b/S1/Echecs/guiTk.py @@ -344,6 +344,8 @@ class PlateauTk: if test['valide'] == True: # Si déplacement possible # TODO L'ordre de vérification des animations importe beaucoup. Il faudrait trouver un # moyen de rendre ceci moins fragile + for s in test['supprimer']: + self.animerF(self.grillePieces[s[0]][s[1]]) 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,8 +353,6 @@ 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]) diff --git a/S1/Echecs/logique.py b/S1/Echecs/logique.py index 172b864..e5a9c18 100644 --- a/S1/Echecs/logique.py +++ b/S1/Echecs/logique.py @@ -336,7 +336,8 @@ class LogiqueDames(Logique): 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['deplacer'] = [] + retour['supprimer'].append([x1, y1]) retour['ajouter'].append([x2, y2, self.grille[x2][y2]]) self.joueur = not self.joueur self.vPartieFinie() @@ -631,6 +632,7 @@ class LogiqueEchecs(Logique): retour = { 'valide': False, 'message': test, + 'ajouter': [], # Pièces à ajouter 'deplacer': [], # Pièces à déplacer 'supprimer': [], # Pièces à supprimer }