Since initPlateau require players only for one game, just give thoses player for this game, so other don't need to take players in args for nothing
This commit is contained in:
parent
bf74632047
commit
9aa620b6bc
13 changed files with 28 additions and 29 deletions
|
@ -1,5 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "../Joueur.hpp"
|
||||
#include "PlateauButin.hpp"
|
||||
|
||||
class Butin {
|
||||
|
|
|
@ -8,5 +8,5 @@ public:
|
|||
virtual ~PlateauButin();
|
||||
|
||||
// Initialise le plateau du Butin
|
||||
void initialiserPlateau(Joueur &j1, Joueur &j2) override;
|
||||
void initialiserPlateau() override;
|
||||
};
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
#pragma once
|
||||
|
||||
#include "../Joueur.hpp"
|
||||
#include "../Plateau.hpp"
|
||||
|
||||
class PlateauDames : public Plateau {
|
||||
Joueur *j1, *j2;
|
||||
|
||||
public:
|
||||
PlateauDames();
|
||||
PlateauDames(Joueur &joueur1, Joueur &joueur2);
|
||||
virtual ~PlateauDames();
|
||||
|
||||
// Initialise le plateau de Dames
|
||||
void initialiserPlateau(Joueur &j1, Joueur &j2) override;
|
||||
void initialiserPlateau() override;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "../includes/Joueur.hpp"
|
||||
#include "../includes/Piece.hpp"
|
||||
|
||||
class Plateau {
|
||||
friend std::ostream &operator<<(std::ostream &, const Plateau &);
|
||||
|
@ -19,7 +19,7 @@ public:
|
|||
// 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(Joueur &j1, Joueur &j2) = 0;
|
||||
virtual void initialiserPlateau() = 0;
|
||||
|
||||
// Fonction pour afficher le plateau (selon le jeu)
|
||||
void afficherPlateau(const bool debug = false) const;
|
||||
|
|
|
@ -8,5 +8,5 @@ public:
|
|||
virtual ~PlateauSafari();
|
||||
|
||||
// Initialise le plateau du Safari
|
||||
void initialiserPlateau(Joueur &j1, Joueur &j2) override;
|
||||
void initialiserPlateau() override;
|
||||
};
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
template <typename T>
|
||||
void ignore(T &&) {}
|
|
@ -21,4 +21,4 @@ const Butin &Butin::operator=(const Butin &src) {
|
|||
return *this;
|
||||
}
|
||||
|
||||
void Butin::init() { plateau.initialiserPlateau(joueur1, joueur2); }
|
||||
void Butin::init() { plateau.initialiserPlateau(); }
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include "../../includes/Butin/PlateauButin.hpp"
|
||||
#include "../../includes/Butin/PieceButin.hpp"
|
||||
#include "../../includes/utils.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
#include <random>
|
||||
|
@ -9,9 +8,7 @@ PlateauButin::PlateauButin() : Plateau(8) {}
|
|||
|
||||
PlateauButin::~PlateauButin() {}
|
||||
|
||||
void PlateauButin::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
||||
ignore(j1);
|
||||
ignore(j2);
|
||||
void PlateauButin::initialiserPlateau() {
|
||||
|
||||
// Vecteur de toutes les pièeces du jeu
|
||||
std::vector<PieceButin> pieces;
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include "../../includes/Dames/Dames.hpp"
|
||||
|
||||
Dames::Dames(Joueur &j1, Joueur &j2)
|
||||
: plateau(PlateauDames()), joueur1(j1), joueur2(j2), joueurCourant(j1) {
|
||||
: plateau(PlateauDames(j1, j2)), joueur1(j1), joueur2(j2),
|
||||
joueurCourant(j1) {
|
||||
std::srand(static_cast<unsigned int>(time(0)));
|
||||
int r = std::rand() % 2;
|
||||
if (r == 0) {
|
||||
|
@ -19,8 +20,8 @@ Dames::Dames(Joueur &j1, Joueur &j2)
|
|||
Dames::~Dames() {}
|
||||
|
||||
Dames::Dames(const Dames &src)
|
||||
: plateau(PlateauDames()), joueur1{src.joueur1}, joueur2{src.joueur2},
|
||||
joueurCourant{src.joueurCourant} {
|
||||
: plateau(PlateauDames(src.joueur1, src.joueur2)), joueur1{src.joueur1},
|
||||
joueur2{src.joueur2}, joueurCourant{src.joueurCourant} {
|
||||
init();
|
||||
}
|
||||
|
||||
|
@ -32,7 +33,7 @@ const Dames &Dames::operator=(const Dames &src) {
|
|||
return *this;
|
||||
}
|
||||
|
||||
void Dames::init() { plateau.initialiserPlateau(joueur1, joueur2); }
|
||||
void Dames::init() { plateau.initialiserPlateau(); }
|
||||
|
||||
// TODO: A continuer
|
||||
bool Dames::prisePossible(const Piece *piece) const {
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
#include "../../includes/Dames/PlateauDames.hpp"
|
||||
#include "../../includes/Dames/PieceDames.hpp"
|
||||
|
||||
PlateauDames::PlateauDames() : Plateau(10) {}
|
||||
PlateauDames::PlateauDames(Joueur &joueur1, Joueur &joueur2)
|
||||
: Plateau(10), j1(&joueur1), j2(&joueur2) {}
|
||||
|
||||
PlateauDames::~PlateauDames() {}
|
||||
|
||||
void PlateauDames::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
||||
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);
|
||||
j1.ajoutPiece(plateau[i][j]);
|
||||
j1->ajoutPiece(plateau[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +20,7 @@ void PlateauDames::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
|||
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);
|
||||
j2.ajoutPiece(plateau[i][j]);
|
||||
j2->ajoutPiece(plateau[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
#include "../../includes/Safari/PlateauSafari.hpp"
|
||||
#include "../../includes/utils.hpp"
|
||||
|
||||
PlateauSafari::PlateauSafari() : Plateau(8) {}
|
||||
|
||||
PlateauSafari::~PlateauSafari() {}
|
||||
|
||||
void PlateauSafari::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
||||
ignore(j1);
|
||||
ignore(j2);
|
||||
void PlateauSafari::initialiserPlateau() {
|
||||
// TODO
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ const Safari &Safari::operator=(const Safari &src) {
|
|||
|
||||
void Safari::init() {
|
||||
// On peut donner que 2 joueurs ?
|
||||
plateau.initialiserPlateau(joueur1, joueur2);
|
||||
plateau.initialiserPlateau();
|
||||
}
|
||||
|
||||
void Safari::choixAnimal(const PieceSafari::Categorie animal) const {
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
#include "../includes/Dames/PlateauDames.hpp"
|
||||
#include "../includes/Ecran.hpp"
|
||||
#include "../includes/Joueur.hpp"
|
||||
|
||||
int main() {
|
||||
PlateauDames p;
|
||||
Joueur j1;
|
||||
Joueur j2;
|
||||
PlateauDames p(j1, j2);
|
||||
Ecran e;
|
||||
// e.afficher(std::bind(&Plateau::afficherPlateau, &p, true));
|
||||
|
||||
|
|
Reference in a new issue