This repository has been archived on 2024-01-18. You can view files and clone it, but cannot push or open issues or pull requests.
DamesEtCo/includes/Safari/PlateauSafari.hpp
2024-01-07 22:19:10 +01:00

37 lines
1 KiB
C++

#pragma once
#include "../Plateau.hpp"
#include "PieceSafari.hpp"
struct PlateauSafari : public Plateau {
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() const;
// 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) const;
// Place la barrière, renvoie si on a réussi
bool placementBarriere(const int x, const int y);
// Renvoie le nombre d'animaux jouable par le joueur courant
int zoneDeplacementOk() const;
private:
// Barrières
std::vector<PieceSafari *> barrieres;
PositionMutable placeholderBarriere;
};