diff --git a/src/Dames/Dames.cpp b/src/Dames/Dames.cpp index 8700d01..6f399b3 100644 --- a/src/Dames/Dames.cpp +++ b/src/Dames/Dames.cpp @@ -66,6 +66,10 @@ void Dames::event(const int x, const int y) { // On efface la piece prise du plateau Piece *pieceEffacee = plateau.piecePrise(posCurseur.first, posCurseur.second); + if (!pieceEffacee) { + // Problème : Mauvais déplacement + break; + } plateau.modifierPlateau(pieceEffacee->getPos().first, pieceEffacee->getPos().second, nullptr); plateau.moveSelection(posCurseur.first, posCurseur.second); @@ -81,7 +85,6 @@ void Dames::event(const int x, const int y) { if (plateau.deplacementValide(posCurseur.first, posCurseur.second)) { // Test si le déplacement est possible pour un pions : en diagonal en // direction de l'autre joueur - // Crash ici parce que p = nullptr donc p->getPos() provoque une segfault if (p == nullptr) { plateau.moveSelection(posCurseur.first, posCurseur.second); // Donne la main au joueur suivant