#pragma once #include "../includes/Piece.hpp" class Plateau { friend std::ostream &operator<<(std::ostream &, const Plateau &); protected: // Tableau représentant le plateau de jeu Piece ***plateau; // Taille du plateau int taille; // Piece actuellement selectionnée Piece *selection; public: Plateau(const int taille); // constructor virtual ~Plateau(); // destructor // Fonction pour initialiser le plateau (selon le jeu) // Seulement deux joueurs pour le jeu de dame uniquement, je suis pas sûre de // comment initialiser la fonction autrement virtual void initialiserPlateau() = 0; // Fonction pour afficher le plateau (selon le jeu) vers une sortie void afficherPlateau(std::ostream &, const bool debug = false) const; // Fonction pour modifier le plateau // Si piece = nullptr alors on retire la pièce du plateau void modifierPlateau(const int x, const int y, Piece *piece) const; // Renvoie une pièce à une position donnnée Piece *getPiece(const int x, const int y) const; // Prend des coordonnées-écran et renvoie des coordonnées-jeu std::pair trouveCoordonnees(const int x, const int y) const; // Renvoie la taille du plateau int getTaille() const; // Change la pièce selectionnée void modifierSelection(const int x, const int y); };