Mylloon
5dcca2bb3e
* ajout de positions supplémentaires pour les barrières * ajout d'un placeholder visuel pour aider a placer une barriere
34 lines
957 B
C++
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);
|
|
};
|