#pragma once #include #include struct Plateau; class Piece { friend std::ostream &operator<<(std::ostream &, const Piece &); friend Plateau; bool selected; // Change l'état de la sélection void changeSelection(); // Renvoie si la pièce est selectionnée bool isSelectionnee() const; protected: // Couleur de la pièce ou type d'animal pour Safari par ex std::string categorie; // Indices où sont placés les pièces sur le plateau int x; int y; public: Piece(const std::string categorie, const int x, const int y); // constructor virtual ~Piece(); // destructor // Fonction de déplacement void moveTo(const int destX, const int destY); // Renvoie la couleur de la pièce pour l'affichage virtual sf::Color getScreenColor() const = 0; // Renvoie la position de la pièce std::pair getPos() const; };