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/Piece.hpp

41 lines
977 B
C++
Raw Normal View History

#pragma once
2023-12-28 22:05:00 +01:00
#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
2023-12-31 04:59:45 +01:00
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);
2023-12-28 22:05:00 +01:00
// Renvoie la couleur de la pièce pour l'affichage
2023-12-31 04:59:45 +01:00
virtual const sf::Color getScreenColor() const = 0;
2023-12-31 03:30:02 +01:00
// Renvoie la position de la pièce
2023-12-31 04:59:45 +01:00
const std::pair<const int, const int> getPos() const;
2024-01-06 18:18:51 +01:00
// Renvoie si la pièce est selectionnée
bool isSelectionnee() const;
};