comments
This commit is contained in:
parent
00bf91b25c
commit
965e22a7b6
1 changed files with 17 additions and 13 deletions
|
@ -281,32 +281,36 @@ void Safari::changerJoueurCourant() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
|
||||||
int Safari::zoneDeplacementOk() const {
|
int Safari::zoneDeplacementOk() const {
|
||||||
// Compte le nombre d'animaux qui ont encore des zones valides
|
// 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
|
// Zone valide = animal possède une zone de déplacement de mini 8 cases
|
||||||
|
|
||||||
int nbAnimaux = 0;
|
int nbAnimaux = 0;
|
||||||
|
|
||||||
for (Piece *animal : joueurCourant->getPieces()) {
|
for (Piece *animal : joueurCourant->getPieces()) {
|
||||||
Position position = animal->getPos();
|
Position position = animal->getPos();
|
||||||
|
|
||||||
// Vérifier la zone de déplacement valide
|
// Nombre de cases sur lesquels l'animal peut se rendre
|
||||||
int casesDisponibles = 0;
|
int casesDisponibles = 0;
|
||||||
|
|
||||||
const int taille = plateau.getTaille();
|
|
||||||
bool skip = false;
|
bool skip = false;
|
||||||
|
const int taille = plateau.getTaille();
|
||||||
for (int i = 0; i < taille && !skip; ++i) {
|
for (int i = 0; i < taille && !skip; ++i) {
|
||||||
for (int j = 0; j < taille && !skip; ++j) {
|
for (int j = 0; j < taille && !skip; ++j) {
|
||||||
if (plateau.getPiece(i, j) == nullptr) {
|
// Déplacement sur les pièces vide uniquement
|
||||||
if (plateau.deplacementValideCoor(position.first, position.second, i,
|
if (plateau.getPiece(i, j) != nullptr) {
|
||||||
j)) {
|
continue;
|
||||||
++casesDisponibles;
|
}
|
||||||
}
|
|
||||||
if (casesDisponibles >= 8) {
|
// Case dispo si on peut se déplacer dessus
|
||||||
++nbAnimaux;
|
if (plateau.deplacementValideCoor(position.first, position.second, i,
|
||||||
skip = true;
|
j)) {
|
||||||
}
|
++casesDisponibles;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si 8 cases sont dispo on peut arrêter la recherche
|
||||||
|
if (casesDisponibles >= 8) {
|
||||||
|
++nbAnimaux;
|
||||||
|
skip = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue