diff --git a/src/Safari/Safari.cpp b/src/Safari/Safari.cpp index e1692d9..9d45bd5 100644 --- a/src/Safari/Safari.cpp +++ b/src/Safari/Safari.cpp @@ -285,18 +285,20 @@ int Safari::zoneDeplacementOk() const { // Compte le nombre d'animaux qui ont encore des zones valides // Zone valide = animal possède une zone de déplacement de mini 8 cases + // Nombre d'animaux dans une zone libre valide int nbAnimaux = 0; - for (Piece *animal : joueurCourant->getPieces()) { + + for (const Piece *animal : joueurCourant->getPieces()) { Position position = animal->getPos(); // Nombre de cases sur lesquels l'animal peut se rendre int casesDisponibles = 0; - bool skip = false; + bool cherchesCasesDispo = true; const int taille = plateau.getTaille(); - for (int i = 0; i < taille && !skip; ++i) { - for (int j = 0; j < taille && !skip; ++j) { - // Déplacement sur les pièces vide uniquement + for (int i = 0; i < taille && cherchesCasesDispo; ++i) { + for (int j = 0; j < taille && cherchesCasesDispo; ++j) { + // Regarde les cases vide uniquement if (plateau.getPiece(i, j) != nullptr) { continue; } @@ -307,10 +309,10 @@ int Safari::zoneDeplacementOk() const { ++casesDisponibles; } - // Si 8 cases sont dispo on peut arrêter la recherche + // Si 8 cases sont dispo on peut arrêter la recherche pour cette animal if (casesDisponibles >= 8) { ++nbAnimaux; - skip = true; + cherchesCasesDispo = false; } } }