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

35 lines
957 B
C++
Raw Normal View History

2023-12-10 15:03:07 +01:00
#pragma once
#include "../Plateau.hpp"
#include "PieceSafari.hpp"
2023-12-10 15:03:07 +01:00
class PlateauSafari : public Plateau {
// Barrières
std::vector<PieceSafari *> barrieres;
PositionMutable placeholderBarriere;
2024-01-07 12:44:33 +01:00
2023-12-10 15:03:07 +01:00
public:
2023-12-14 15:58:43 +01:00
PlateauSafari();
2023-12-10 15:03:07 +01:00
virtual ~PlateauSafari();
2023-12-14 15:58:43 +01:00
2024-01-06 19:20:42 +01:00
// Fonction pour afficher le plateau vers une sortie
void afficherPlateau(std::ostream &, const bool debug = false) const override;
2024-01-07 03:23:18 +01:00
// 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);
2023-12-13 12:01:59 +01:00
};