diff --git a/includes/Butin/PieceButin.hpp b/includes/Butin/PieceButin.hpp index 37c955a..ce2c12e 100644 --- a/includes/Butin/PieceButin.hpp +++ b/includes/Butin/PieceButin.hpp @@ -12,7 +12,7 @@ struct PieceButin : public Piece { Noire = 3, }; - PieceButin(const enum Categorie); + PieceButin(const enum Categorie, const int x, const int y); virtual ~PieceButin(); // Couleur sur l'écran diff --git a/includes/Dames/PieceDames.hpp b/includes/Dames/PieceDames.hpp index 7f09da3..505b3a3 100644 --- a/includes/Dames/PieceDames.hpp +++ b/includes/Dames/PieceDames.hpp @@ -8,7 +8,7 @@ struct PieceDames : public Piece { Noire, }; - PieceDames(const enum Categorie); + PieceDames(const enum Categorie, const int x, const int y); virtual ~PieceDames(); // Couleur sur l'écran diff --git a/includes/Safari/PieceSafari.hpp b/includes/Safari/PieceSafari.hpp index 4329053..84a44b5 100644 --- a/includes/Safari/PieceSafari.hpp +++ b/includes/Safari/PieceSafari.hpp @@ -10,7 +10,7 @@ struct PieceSafari : public Piece { Lion, }; - PieceSafari(const enum Categorie); + PieceSafari(const enum Categorie, const int x, const int y); virtual ~PieceSafari(); // Couleur sur l'écran diff --git a/src/Butin/PieceButin.cpp b/src/Butin/PieceButin.cpp index 116ba44..ef2bd7a 100644 --- a/src/Butin/PieceButin.cpp +++ b/src/Butin/PieceButin.cpp @@ -1,7 +1,7 @@ #include "../../includes/Butin/PieceButin.hpp" -PieceButin::PieceButin(const enum Categorie cat) - : Piece(to_string(cat)), points(cat) { +PieceButin::PieceButin(const enum Categorie cat, const int posX, const int posY) + : Piece(to_string(cat), posX, posY), points(cat) { std::cout << "pièce - " << cat << "\n"; this->points = cat; } diff --git a/src/Butin/PlateauButin.cpp b/src/Butin/PlateauButin.cpp index d0d2245..c233ad3 100644 --- a/src/Butin/PlateauButin.cpp +++ b/src/Butin/PlateauButin.cpp @@ -19,13 +19,13 @@ void PlateauButin::initialiserPlateau() { // Vecteur de toutes les pièeces du jeu std::vector pieces; for (int i = 0; i < 34; i++) { - pieces.push_back(new PieceButin(PieceButin::Jaune)); + pieces.push_back(new PieceButin(PieceButin::Jaune, -1, -1)); } for (int i = 0; i < 20; i++) { - pieces.push_back(new PieceButin(PieceButin::Rouge)); + pieces.push_back(new PieceButin(PieceButin::Rouge, -1, -1)); } for (int i = 0; i < 10; i++) { - pieces.push_back(new PieceButin(PieceButin::Noire)); + pieces.push_back(new PieceButin(PieceButin::Noire, -1, -1)); } // Mélange le vecteur de pièces (j'ai jamais utilisé ça pour randomiser faudra @@ -39,6 +39,9 @@ void PlateauButin::initialiserPlateau() { for (int i = 0; i < taille; i++) { for (int j = 0; j < taille; j++) { plateau[i][j] = pieces[static_cast(index++)]; + + // Met à jour la position + plateau[i][j]->moveTo(i, j); } } } diff --git a/src/Dames/PieceDames.cpp b/src/Dames/PieceDames.cpp index a7ad87e..fa5ecef 100644 --- a/src/Dames/PieceDames.cpp +++ b/src/Dames/PieceDames.cpp @@ -1,7 +1,7 @@ #include "../../includes/Dames/PieceDames.hpp" -PieceDames::PieceDames(const enum Categorie cat) - : Piece(to_string(cat)), dame(false) { +PieceDames::PieceDames(const enum Categorie cat, const int posX, const int posY) + : Piece(to_string(cat), posX, posY), dame(false) { std::cout << "pièce - " << categorie << "\n"; } diff --git a/src/Dames/PlateauDames.cpp b/src/Dames/PlateauDames.cpp index 1f7f0df..de5a500 100644 --- a/src/Dames/PlateauDames.cpp +++ b/src/Dames/PlateauDames.cpp @@ -10,7 +10,7 @@ void PlateauDames::initialiserPlateau() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 10; j++) { if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) { - plateau[i][j] = new PieceDames(PieceDames::Noire); + plateau[i][j] = new PieceDames(PieceDames::Noire, i, j); j1->ajoutPiece(plateau[i][j]); } } @@ -19,7 +19,7 @@ void PlateauDames::initialiserPlateau() { for (int i = 6; i < 10; i++) { for (int j = 0; j < 10; j++) { if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) { - plateau[i][j] = new PieceDames(PieceDames::Blanche); + plateau[i][j] = new PieceDames(PieceDames::Blanche, i, j); j2->ajoutPiece(plateau[i][j]); } } diff --git a/src/Piece.cpp b/src/Piece.cpp index 6e8655b..89fa5e5 100644 --- a/src/Piece.cpp +++ b/src/Piece.cpp @@ -1,6 +1,7 @@ #include "../includes/Piece.hpp" -Piece::Piece(const std::string cat) : selected(false), categorie(cat) { +Piece::Piece(const std::string cat, const int posX, const int posY) + : selected(false), categorie(cat), x(posX), y(posY) { std::cout << "pièce - " << cat << "\n"; } diff --git a/src/Safari/PieceSafari.cpp b/src/Safari/PieceSafari.cpp index 7a488cf..19a15c0 100644 --- a/src/Safari/PieceSafari.cpp +++ b/src/Safari/PieceSafari.cpp @@ -1,6 +1,8 @@ #include "../../includes/Safari/PieceSafari.hpp" -PieceSafari::PieceSafari(const enum Categorie cat) : Piece(to_string(cat)) { +PieceSafari::PieceSafari(const enum Categorie cat, const int posX, + const int posY) + : Piece(to_string(cat), posX, posY) { std::cout << "pièce - " << categorie << "\n"; } diff --git a/src/Safari/Safari.cpp b/src/Safari/Safari.cpp index e4e1644..24d9b46 100644 --- a/src/Safari/Safari.cpp +++ b/src/Safari/Safari.cpp @@ -6,7 +6,9 @@ Safari::Safari(Joueur &j1, Joueur &j2, Joueur *j3) : Jeu(j1), plateau(PlateauSafari()), joueur2{j2}, joueur3{j3} { for (int i = 0; i < 50; i++) { - barrieres.push_back(new PieceSafari(PieceSafari::Barriere)); + // TODO: Les pièces ont des positions invalides, il faut penser à les + // définir quand on les rajoute au plateau + barrieres.push_back(new PieceSafari(PieceSafari::Barriere, -1, -1)); } } @@ -49,7 +51,8 @@ void Safari::choixAnimal(const PieceSafari::Categorie animal) const { if (joueurCourant.getPieces().empty()) { for (int i = 0; i < 3; i++) { - joueurCourant.ajoutPiece(new PieceSafari(animal)); + // Position invalide en attendant d'être ajouté au plateau de jeu + joueurCourant.ajoutPiece(new PieceSafari(animal, -1, -1)); } } }