check deplacement
This commit is contained in:
parent
d5776ac144
commit
6773361b03
3 changed files with 12 additions and 2 deletions
|
@ -17,4 +17,7 @@ public:
|
||||||
|
|
||||||
// Fonction pour afficher le plateau vers une sortie
|
// Fonction pour afficher le plateau vers une sortie
|
||||||
void afficherPlateau(std::ostream &, const bool debug = false) const override;
|
void afficherPlateau(std::ostream &, const bool debug = false) const override;
|
||||||
|
|
||||||
|
// Vérifie que le déplacement est valide
|
||||||
|
bool deplacementValide(const int destX, const int destY) const;
|
||||||
};
|
};
|
||||||
|
|
|
@ -114,3 +114,10 @@ void PlateauSafari::afficherPlateau(std::ostream &out, const bool d) const {
|
||||||
out << "---\n";
|
out << "---\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool PlateauSafari::deplacementValide(const int x, const int y) const {
|
||||||
|
std::pair<const int, const int> posInitiale = selection->getPos();
|
||||||
|
|
||||||
|
return std::abs(x - posInitiale.first) == 0 ||
|
||||||
|
std::abs(y - posInitiale.second) == 0;
|
||||||
|
}
|
||||||
|
|
|
@ -186,8 +186,8 @@ void Safari::event(const int x, const int y) {
|
||||||
|
|
||||||
// Déplacer un animal
|
// Déplacer un animal
|
||||||
if (!deplacerAnimal && p == nullptr) {
|
if (!deplacerAnimal && p == nullptr) {
|
||||||
// TODO: Vérifier que le déplacement est correct
|
// Vérifier que le déplacement est correct
|
||||||
if (true) {
|
if (plateau.deplacementValide(posCurseur.first, posCurseur.second)) {
|
||||||
plateau.moveSelection(posCurseur.first, posCurseur.second);
|
plateau.moveSelection(posCurseur.first, posCurseur.second);
|
||||||
justChanged = true;
|
justChanged = true;
|
||||||
deplacerAnimal = true;
|
deplacerAnimal = true;
|
||||||
|
|
Reference in a new issue