From cbebb6719cf3958d907312dc85b221becf9a7cf9 Mon Sep 17 00:00:00 2001 From: Emma Date: Tue, 26 Dec 2023 18:40:27 +0100 Subject: [PATCH] =?UTF-8?q?prisePossible=20encore,=20r=C3=A9fl=C3=A9xion?= =?UTF-8?q?=20en=20commentaires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- includes/Dames/PieceDames.hpp | 2 +- includes/Piece.hpp | 7 +++++++ src/Dames/Dames.cpp | 6 +++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/includes/Dames/PieceDames.hpp b/includes/Dames/PieceDames.hpp index 758f870..5ebeaa2 100644 --- a/includes/Dames/PieceDames.hpp +++ b/includes/Dames/PieceDames.hpp @@ -12,7 +12,7 @@ struct PieceDames : public Piece { virtual ~PieceDames(); // Getter pour la piece (dame ou non) - bool getDame() const; + bool getDame() const override; // Setter pour la piece (dame ou non) void setDame(const bool d); diff --git a/includes/Piece.hpp b/includes/Piece.hpp index abe7de1..f8ef362 100644 --- a/includes/Piece.hpp +++ b/includes/Piece.hpp @@ -9,6 +9,10 @@ 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 @@ -16,6 +20,9 @@ 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); diff --git a/src/Dames/Dames.cpp b/src/Dames/Dames.cpp index 54a4a76..7ea2125 100644 --- a/src/Dames/Dames.cpp +++ b/src/Dames/Dames.cpp @@ -44,10 +44,14 @@ 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) ? bool Dames::prisePossible(Joueur &joueur) const { const std::vector &pieces = joueur.getPieces(); + int x = 1; int y = 1; for (int i = 0; i < pieces.size(); i++) { - // if (!pieces[i]->getDame()) + if (!pieces[i]->getDame()){ + //if(plateau[x][y] == nullptr) + } } return false; }