This commit is contained in:
Mylloon 2024-01-07 03:14:07 +01:00
parent c175e9aa56
commit 604e66c30c
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -182,23 +182,35 @@ void Safari::event(const int x, const int y) {
case EnJeu: { case EnJeu: {
const Piece *p = getPiece(posCurseur.first, posCurseur.second); const Piece *p = getPiece(posCurseur.first, posCurseur.second);
// Si la case cliquée est vide
if (p == nullptr) {
bool justChanged = false; bool justChanged = false;
// Déplacer un animal // Déplacer un animal
if (!deplacerAnimal) { if (!deplacerAnimal && p == nullptr) {
// TODO: Vérifier que le déplacement est correct // TODO: Vérifier que le déplacement est correct
if (true) {
plateau.moveSelection(posCurseur.first, posCurseur.second); plateau.moveSelection(posCurseur.first, posCurseur.second);
justChanged = true; justChanged = true;
deplacerAnimal = true; deplacerAnimal = true;
Ecran::printMessage(msgTonTour()); Ecran::printMessage(msgTonTour());
} }
}
// Poser une barrière // Poser une barrière
if (!placerBarriere && !justChanged) { if (!placerBarriere && !justChanged) {
// TODO // TODO
// J'ai comme idée de cliquer sur 2 cases et de placer la barrière entre
// les 2 cases choisies
// Prendre en compte qu'il faut rajouter un marqueur quand on clique sur
// une case vide
}
if (p != nullptr) {
// Vérifie que la pièce est à nous
if (getPiece(posCurseur.first, posCurseur.second)->getCategory() ==
getPiece(joueurCourant->getPieces().at(0))->getCategory()) {
// On sélectionne la pièce
plateau.modifierSelection(posCurseur.first, posCurseur.second);
}
} }
if (deplacerAnimal && placerBarriere) { if (deplacerAnimal && placerBarriere) {
@ -211,14 +223,6 @@ void Safari::event(const int x, const int y) {
changerJoueurCourant(); changerJoueurCourant();
Ecran::printMessage(msgTonTour()); Ecran::printMessage(msgTonTour());
} }
} else {
// Vérifie que la pièce est à nous
if (getPiece(posCurseur.first, posCurseur.second)->getCategory() ==
getPiece(joueurCourant->getPieces().at(0))->getCategory()) {
// On sélectionne la pièce
plateau.modifierSelection(posCurseur.first, posCurseur.second);
}
}
break; break;
} }
case Fini: { case Fini: {