40 lines
977 B
C++
40 lines
977 B
C++
#pragma once
|
|
|
|
#include <SFML/Graphics/Color.hpp>
|
|
#include <iostream>
|
|
|
|
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();
|
|
|
|
protected:
|
|
// Couleur de la pièce ou type d'animal pour Safari par ex
|
|
const 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 const sf::Color getScreenColor() const = 0;
|
|
|
|
// Renvoie la position de la pièce
|
|
const std::pair<const int, const int> getPos() const;
|
|
|
|
// Renvoie si la pièce est selectionnée
|
|
bool isSelectionnee() const;
|
|
};
|