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
Mylloon 5dcca2bb3e
WIP
* ajout de positions supplémentaires pour les barrières
* ajout d'un placeholder visuel pour aider a placer une barriere
2024-01-07 14:14:11 +01:00

34 lines
957 B
C++

#pragma once
#include "../Plateau.hpp"
#include "PieceSafari.hpp"
class PlateauSafari : public Plateau {
// Barrières
std::vector<PieceSafari *> 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);
};