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();
|
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() {
|
||||||
|
|
Reference in a new issue