#pragma once #include "../Plateau.hpp" #include "PieceSafari.hpp" class PlateauSafari : public Plateau { // Barrières std::vector barrieres; PositionMutable placeholderBarriere; public: PlateauSafari(); virtual ~PlateauSafari(); // Fonction pour afficher le plateau vers une sortie 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; // Renvoie la position du placeholder Position getPlaceholderBarriere(); // Modifie la position du placeholder void setPlaceholderBarriere(const int x, const int y); // Avec les positions du placeholder et les positions données // Vérifie que les 2 points sont à côtés bool validWithPlaceholder(const int x, const int y); // Place la barrière, renvoie si on a réussi bool placementBarriere(const int x, const int y); };