jcomprends rien
This commit is contained in:
parent
bb5a7963be
commit
17a23f4307
1 changed files with 30 additions and 3 deletions
|
@ -155,10 +155,37 @@ bool PlateauSafari::deplacementValide(const int x, const int y) const {
|
|||
|
||||
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 ||
|
||||
std::abs(y - posInitiale.second) == 0;
|
||||
// Plus lointaine position en fonction de l'orientation
|
||||
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() {
|
||||
|
|
Reference in a new issue