cast d'une piece en PieceDames, donc pas besoin de créer une fonction spécifique dans la classe mere
This commit is contained in:
parent
cbebb6719c
commit
7f9d100aee
4 changed files with 14 additions and 10 deletions
|
@ -12,7 +12,7 @@ struct PieceDames : public Piece {
|
|||
virtual ~PieceDames();
|
||||
|
||||
// Getter pour la piece (dame ou non)
|
||||
bool getDame() const override;
|
||||
bool getDame() const;
|
||||
|
||||
// Setter pour la piece (dame ou non)
|
||||
void setDame(const bool d);
|
||||
|
|
|
@ -9,7 +9,8 @@ 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 ?)
|
||||
// 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;
|
||||
|
||||
|
@ -20,9 +21,6 @@ public:
|
|||
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);
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "../../includes/Dames/Dames.hpp"
|
||||
#include "../../includes/Dames/PieceDames.hpp"
|
||||
|
||||
Dames::Dames(Joueur &j1, Joueur &j2)
|
||||
: plateau(PlateauDames(j1, j2)), joueur1(j1), joueur2(j2),
|
||||
|
@ -44,13 +45,18 @@ void Dames::init() {
|
|||
}
|
||||
|
||||
// TODO: A continuer
|
||||
// Pas très sûre de comment procéder pour cette fonction : il faudrait vérifier les cases en diagnonale des pièces observées mais est-ce qu'il y a besoin que les pièces aient des attributs pour leur position (comme proposé dans Piece) ?
|
||||
// Pas très sûre de comment procéder pour cette fonction : il faudrait vérifier
|
||||
// les cases en diagnonale des pièces observées mais est-ce qu'il y a besoin que
|
||||
// les pièces aient des attributs pour leur position (comme proposé dans Piece)
|
||||
// ?
|
||||
bool Dames::prisePossible(Joueur &joueur) const {
|
||||
const std::vector<Piece *> &pieces = joueur.getPieces();
|
||||
int x = 1; int y = 1;
|
||||
int x = 1;
|
||||
int y = 1;
|
||||
for (int i = 0; i < pieces.size(); i++) {
|
||||
if (!pieces[i]->getDame()){
|
||||
//if(plateau[x][y] == nullptr)
|
||||
PieceDames *p = dynamic_cast<PieceDames *>(pieces[i]);
|
||||
if (p->getDame()) {
|
||||
// if(plateau[x][y] == nullptr)
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "../includes/Piece.hpp"
|
||||
|
||||
Piece::Piece(const std::string cat) {
|
||||
Piece::Piece(const std::string cat) : categorie(cat) {
|
||||
std::cout << "pièce - " << cat << "\n";
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue