30 lines
816 B
C++
30 lines
816 B
C++
#pragma once
|
|
|
|
#include <iostream>
|
|
|
|
class Piece {
|
|
friend std::ostream &operator<<(std::ostream &, const Piece &);
|
|
|
|
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 (quand elles le sont) (est-ce que c'est redondant ?)
|
|
int x;
|
|
int y;
|
|
|
|
public:
|
|
Piece(const std::string categorie); // constructor
|
|
virtual ~Piece(); // destructor
|
|
|
|
Piece(const Piece &); // copy constructor
|
|
const Piece &operator=(const Piece &); // copy assignement
|
|
|
|
// Pour Dames : Fonction virtuelle pour vérifier si une pièce est une dame ou non
|
|
virtual bool getDame() const;
|
|
|
|
// Fonction de déplacement
|
|
bool moveTo(const int destX, const int destY);
|
|
|
|
// Fonction de prise de pièce
|
|
};
|