jcomprends rien

This commit is contained in:
Mylloon 2024-01-07 15:44:07 +01:00
parent bb5a7963be
commit 17a23f4307
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -155,10 +155,37 @@ bool PlateauSafari::deplacementValide(const int x, const int y) const {
Position posInitiale = selection->getPos(); Position posInitiale = selection->getPos();
// TODO: Vérifier qu'il n'y a pas de barrière sur le chemin // Vérifier qu'il n'y a pas de barrière sur le chemin
// TODO: Ya des bugs a fix ici
for (PieceSafari *barriere : barrieres) {
Position pos1 = barriere->getPos();
Position pos2 = barriere->getPos2();
return std::abs(x - posInitiale.first) == 0 || // Plus lointaine position en fonction de l'orientation
std::abs(y - posInitiale.second) == 0; PositionMutable posBarriere; // todo
// Verticale
if (pos1.first == pos2.first) {
posBarriere =
std::make_pair(pos1.first, std::max(pos1.second, pos2.second));
}
// Horizontale
else {
posBarriere =
std::make_pair(std::max(pos1.first, pos2.first), pos1.second);
}
// Vérifier les conditions pour le point posBarriere sur
// le segment posInitiale - (x, y)
if (posBarriere.first >= std::min(posInitiale.first, x) &&
posBarriere.first <= std::max(posInitiale.first, x) &&
posBarriere.second >= std::min(posInitiale.second, y) &&
posBarriere.second <= std::max(posInitiale.second, y)) {
return false;
}
}
return (x == posInitiale.first || y == posInitiale.second);
} }
Position PlateauSafari::getPlaceholderBarriere() { Position PlateauSafari::getPlaceholderBarriere() {