initialisation plateau -> constructeur

This commit is contained in:
Mylloon 2024-01-07 12:51:04 +01:00
parent e3da6c3b39
commit bf86a41469
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
10 changed files with 19 additions and 41 deletions

View file

@ -8,9 +8,6 @@ struct PlateauButin : public Plateau {
PlateauButin(); PlateauButin();
virtual ~PlateauButin(); virtual ~PlateauButin();
// Initialise le plateau du Butin
void initialiserPlateau() override;
// Renvoie la liste des pièces entre la pièce sélectionné et une position // Renvoie la liste des pièces entre la pièce sélectionné et une position
const std::vector<const Piece *> cheminPieces(const int destX, const std::vector<const Piece *> cheminPieces(const int destX,
const int destY) const; const int destY) const;

View file

@ -9,7 +9,4 @@ class PlateauDames : public Plateau {
public: public:
PlateauDames(Joueur &joueur1, Joueur &joueur2); PlateauDames(Joueur &joueur1, Joueur &joueur2);
virtual ~PlateauDames(); virtual ~PlateauDames();
// Initialise le plateau de Dames
void initialiserPlateau() override;
}; };

View file

@ -21,11 +21,6 @@ public:
Plateau(const int taille); // constructor Plateau(const int taille); // constructor
virtual ~Plateau(); // destructor virtual ~Plateau(); // destructor
// Fonction pour initialiser le plateau (selon le jeu)
// Seulement deux joueurs pour le jeu de dame uniquement, je suis pas sûre de
// comment initialiser la fonction autrement
virtual void initialiserPlateau() = 0;
// Fonction pour afficher le plateau (selon le jeu) vers une sortie // Fonction pour afficher le plateau (selon le jeu) vers une sortie
virtual void afficherPlateau(std::ostream &, const bool debug = false) const; virtual void afficherPlateau(std::ostream &, const bool debug = false) const;

View file

@ -15,9 +15,6 @@ public:
PlateauSafari(); PlateauSafari();
virtual ~PlateauSafari(); virtual ~PlateauSafari();
// Initialise le plateau du Safari
void initialiserPlateau() override;
// Fonction pour afficher le plateau vers une sortie // Fonction pour afficher le plateau vers une sortie
void afficherPlateau(std::ostream &, const bool debug = false) const override; void afficherPlateau(std::ostream &, const bool debug = false) const override;

View file

@ -4,8 +4,6 @@
Butin::Butin(Joueur &j1, Joueur &j2) Butin::Butin(Joueur &j1, Joueur &j2)
: Jeu(j1), plateau(PlateauButin()), joueur2{j2} { : Jeu(j1), plateau(PlateauButin()), joueur2{j2} {
plateau.initialiserPlateau();
// Demander à J1 de retirer une pièce jaune // Demander à J1 de retirer une pièce jaune
Ecran::printMessage(msgPieceJaune()); Ecran::printMessage(msgPieceJaune());
etape = ChoixJ1; etape = ChoixJ1;

View file

@ -4,17 +4,7 @@
#include <algorithm> #include <algorithm>
#include <random> #include <random>
PlateauButin::PlateauButin() : Plateau(8) {} PlateauButin::PlateauButin() : Plateau(8) {
PlateauButin::~PlateauButin() {
for (int i = 0; i < taille; i++) {
for (int j = 0; j < taille; j++) {
delete plateau[i][j];
}
}
}
void PlateauButin::initialiserPlateau() {
// Vecteur de toutes les pièces du jeu // Vecteur de toutes les pièces du jeu
std::vector<PieceButin *> pieces; std::vector<PieceButin *> pieces;
for (int i = 0; i < 34; i++) { for (int i = 0; i < 34; i++) {
@ -45,6 +35,14 @@ void PlateauButin::initialiserPlateau() {
} }
} }
PlateauButin::~PlateauButin() {
for (int i = 0; i < taille; i++) {
for (int j = 0; j < taille; j++) {
delete plateau[i][j];
}
}
}
const std::vector<const Piece *> const std::vector<const Piece *>
PlateauButin::cheminPieces(const int destX, const int destY) const { PlateauButin::cheminPieces(const int destX, const int destY) const {
const Position posSelection = selection->getPos(); const Position posSelection = selection->getPos();

View file

@ -10,12 +10,10 @@ Dames::Dames(Joueur &j1, Joueur &j2)
} else { } else {
joueurCourant = &j2; joueurCourant = &j2;
} }
std::cout << "Joueur " << joueurCourant->getNum() std::cout << "Joueur " << joueurCourant->getNum()
<< " jouera avec les pièces blanches et commencera la partie." << " jouera avec les pièces blanches et commencera la partie."
<< std::endl; << std::endl;
// Initialisation
plateau.initialiserPlateau();
} }
Dames::~Dames() {} Dames::~Dames() {}

View file

@ -2,11 +2,7 @@
#include "../../includes/Dames/PieceDames.hpp" #include "../../includes/Dames/PieceDames.hpp"
PlateauDames::PlateauDames(Joueur &joueur1, Joueur &joueur2) PlateauDames::PlateauDames(Joueur &joueur1, Joueur &joueur2)
: Plateau(10), j1(&joueur1), j2(&joueur2) {} : Plateau(10), j1(&joueur1), j2(&joueur2) {
PlateauDames::~PlateauDames() {}
void PlateauDames::initialiserPlateau() {
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
for (int j = 0; j < 10; j++) { for (int j = 0; j < 10; j++) {
if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) { if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) {
@ -25,3 +21,5 @@ void PlateauDames::initialiserPlateau() {
} }
} }
} }
PlateauDames::~PlateauDames() {}

View file

@ -1,11 +1,7 @@
#include "../../includes/Safari/PlateauSafari.hpp" #include "../../includes/Safari/PlateauSafari.hpp"
#include "../../includes/Ecran.hpp" #include "../../includes/Ecran.hpp"
PlateauSafari::PlateauSafari() : Plateau(8) {} PlateauSafari::PlateauSafari() : Plateau(8) {
PlateauSafari::~PlateauSafari() {}
void PlateauSafari::initialiserPlateau() {
// Au début, le plateau est vide // Au début, le plateau est vide
// Les joueurs vont choisir leur animal, on place autant d'animal différent // Les joueurs vont choisir leur animal, on place autant d'animal différent
@ -16,6 +12,8 @@ void PlateauSafari::initialiserPlateau() {
plateau[4][3] = new PieceSafari(PieceSafari::Rhinoceros, 4, 3); plateau[4][3] = new PieceSafari(PieceSafari::Rhinoceros, 4, 3);
} }
PlateauSafari::~PlateauSafari() {}
void PlateauSafari::afficherPlateau(std::ostream &out, const bool d) const { void PlateauSafari::afficherPlateau(std::ostream &out, const bool d) const {
const float tailleCellule = static_cast<float>(Ecran::largeur()) / taille; const float tailleCellule = static_cast<float>(Ecran::largeur()) / taille;
@ -110,6 +108,9 @@ void PlateauSafari::afficherPlateau(std::ostream &out, const bool d) const {
// TODO // TODO
} */ } */
// Dessinne les indications pour le placement des murs
// TODO
if (d) { if (d) {
out << "---\n"; out << "---\n";
} }

View file

@ -7,7 +7,6 @@
Safari::Safari(Joueur &j1, Joueur &j2, Joueur *j3) Safari::Safari(Joueur &j1, Joueur &j2, Joueur *j3)
: Jeu(j1), plateau(PlateauSafari()), joueur2{j2}, joueur3{j3}, : Jeu(j1), plateau(PlateauSafari()), joueur2{j2}, joueur3{j3},
deplacerAnimal(false), placerBarriere(false), barrieres(0) { deplacerAnimal(false), placerBarriere(false), barrieres(0) {
plateau.initialiserPlateau();
Ecran::printMessage(msgChoixAnimal()); Ecran::printMessage(msgChoixAnimal());
etape = ChoixJ1; etape = ChoixJ1;
} }