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

38 lines
1.2 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;
// Pareil que deplacementValide mais est utilisable avec des coordonnées
bool deplacementValideCoor(const int x1, const int y1, const int x2,
const int y2, const bool debug = false) const;
// 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);
private:
// Barrières
std::vector<PieceSafari *> barrieres;
PositionMutable placeholderBarriere;
};