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
|
#pragma once
|
||||||
|
|
||||||
|
#include "../Joueur.hpp"
|
||||||
#include "PlateauButin.hpp"
|
#include "PlateauButin.hpp"
|
||||||
|
|
||||||
class Butin {
|
class Butin {
|
||||||
|
|
|
@ -8,5 +8,5 @@ public:
|
||||||
virtual ~PlateauButin();
|
virtual ~PlateauButin();
|
||||||
|
|
||||||
// Initialise le plateau du Butin
|
// Initialise le plateau du Butin
|
||||||
void initialiserPlateau(Joueur &j1, Joueur &j2) override;
|
void initialiserPlateau() override;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,12 +1,15 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "../Joueur.hpp"
|
||||||
#include "../Plateau.hpp"
|
#include "../Plateau.hpp"
|
||||||
|
|
||||||
class PlateauDames : public Plateau {
|
class PlateauDames : public Plateau {
|
||||||
|
Joueur *j1, *j2;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
PlateauDames();
|
PlateauDames(Joueur &joueur1, Joueur &joueur2);
|
||||||
virtual ~PlateauDames();
|
virtual ~PlateauDames();
|
||||||
|
|
||||||
// Initialise le plateau de Dames
|
// Initialise le plateau de Dames
|
||||||
void initialiserPlateau(Joueur &j1, Joueur &j2) override;
|
void initialiserPlateau() override;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../includes/Joueur.hpp"
|
#include "../includes/Piece.hpp"
|
||||||
|
|
||||||
class Plateau {
|
class Plateau {
|
||||||
friend std::ostream &operator<<(std::ostream &, const Plateau &);
|
friend std::ostream &operator<<(std::ostream &, const Plateau &);
|
||||||
|
@ -19,7 +19,7 @@ public:
|
||||||
// Fonction pour initialiser le plateau (selon le jeu)
|
// Fonction pour initialiser le plateau (selon le jeu)
|
||||||
// Seulement deux joueurs pour le jeu de dame uniquement, je suis pas sûre de
|
// Seulement deux joueurs pour le jeu de dame uniquement, je suis pas sûre de
|
||||||
// comment initialiser la fonction autrement
|
// 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)
|
// Fonction pour afficher le plateau (selon le jeu)
|
||||||
void afficherPlateau(const bool debug = false) const;
|
void afficherPlateau(const bool debug = false) const;
|
||||||
|
|
|
@ -8,5 +8,5 @@ public:
|
||||||
virtual ~PlateauSafari();
|
virtual ~PlateauSafari();
|
||||||
|
|
||||||
// Initialise le plateau du Safari
|
// 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;
|
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/PlateauButin.hpp"
|
||||||
#include "../../includes/Butin/PieceButin.hpp"
|
#include "../../includes/Butin/PieceButin.hpp"
|
||||||
#include "../../includes/utils.hpp"
|
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <random>
|
#include <random>
|
||||||
|
@ -9,9 +8,7 @@ PlateauButin::PlateauButin() : Plateau(8) {}
|
||||||
|
|
||||||
PlateauButin::~PlateauButin() {}
|
PlateauButin::~PlateauButin() {}
|
||||||
|
|
||||||
void PlateauButin::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
void PlateauButin::initialiserPlateau() {
|
||||||
ignore(j1);
|
|
||||||
ignore(j2);
|
|
||||||
|
|
||||||
// Vecteur de toutes les pièeces du jeu
|
// Vecteur de toutes les pièeces du jeu
|
||||||
std::vector<PieceButin> pieces;
|
std::vector<PieceButin> pieces;
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
#include "../../includes/Dames/Dames.hpp"
|
#include "../../includes/Dames/Dames.hpp"
|
||||||
|
|
||||||
Dames::Dames(Joueur &j1, Joueur &j2)
|
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)));
|
std::srand(static_cast<unsigned int>(time(0)));
|
||||||
int r = std::rand() % 2;
|
int r = std::rand() % 2;
|
||||||
if (r == 0) {
|
if (r == 0) {
|
||||||
|
@ -19,8 +20,8 @@ Dames::Dames(Joueur &j1, Joueur &j2)
|
||||||
Dames::~Dames() {}
|
Dames::~Dames() {}
|
||||||
|
|
||||||
Dames::Dames(const Dames &src)
|
Dames::Dames(const Dames &src)
|
||||||
: plateau(PlateauDames()), joueur1{src.joueur1}, joueur2{src.joueur2},
|
: plateau(PlateauDames(src.joueur1, src.joueur2)), joueur1{src.joueur1},
|
||||||
joueurCourant{src.joueurCourant} {
|
joueur2{src.joueur2}, joueurCourant{src.joueurCourant} {
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +33,7 @@ const Dames &Dames::operator=(const Dames &src) {
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Dames::init() { plateau.initialiserPlateau(joueur1, joueur2); }
|
void Dames::init() { plateau.initialiserPlateau(); }
|
||||||
|
|
||||||
// TODO: A continuer
|
// TODO: A continuer
|
||||||
bool Dames::prisePossible(const Piece *piece) const {
|
bool Dames::prisePossible(const Piece *piece) const {
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
#include "../../includes/Dames/PlateauDames.hpp"
|
#include "../../includes/Dames/PlateauDames.hpp"
|
||||||
#include "../../includes/Dames/PieceDames.hpp"
|
#include "../../includes/Dames/PieceDames.hpp"
|
||||||
|
|
||||||
PlateauDames::PlateauDames() : Plateau(10) {}
|
PlateauDames::PlateauDames(Joueur &joueur1, Joueur &joueur2)
|
||||||
|
: Plateau(10), j1(&joueur1), j2(&joueur2) {}
|
||||||
|
|
||||||
PlateauDames::~PlateauDames() {}
|
PlateauDames::~PlateauDames() {}
|
||||||
|
|
||||||
void PlateauDames::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
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)) {
|
||||||
plateau[i][j] = new PieceDames(PieceDames::Noire);
|
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++) {
|
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)) {
|
||||||
plateau[i][j] = new PieceDames(PieceDames::Blanche);
|
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/Safari/PlateauSafari.hpp"
|
||||||
#include "../../includes/utils.hpp"
|
|
||||||
|
|
||||||
PlateauSafari::PlateauSafari() : Plateau(8) {}
|
PlateauSafari::PlateauSafari() : Plateau(8) {}
|
||||||
|
|
||||||
PlateauSafari::~PlateauSafari() {}
|
PlateauSafari::~PlateauSafari() {}
|
||||||
|
|
||||||
void PlateauSafari::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
void PlateauSafari::initialiserPlateau() {
|
||||||
ignore(j1);
|
|
||||||
ignore(j2);
|
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ const Safari &Safari::operator=(const Safari &src) {
|
||||||
|
|
||||||
void Safari::init() {
|
void Safari::init() {
|
||||||
// On peut donner que 2 joueurs ?
|
// On peut donner que 2 joueurs ?
|
||||||
plateau.initialiserPlateau(joueur1, joueur2);
|
plateau.initialiserPlateau();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Safari::choixAnimal(const PieceSafari::Categorie animal) const {
|
void Safari::choixAnimal(const PieceSafari::Categorie animal) const {
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
#include "../includes/Dames/PlateauDames.hpp"
|
#include "../includes/Dames/PlateauDames.hpp"
|
||||||
#include "../includes/Ecran.hpp"
|
#include "../includes/Ecran.hpp"
|
||||||
|
#include "../includes/Joueur.hpp"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
PlateauDames p;
|
Joueur j1;
|
||||||
|
Joueur j2;
|
||||||
|
PlateauDames p(j1, j2);
|
||||||
Ecran e;
|
Ecran e;
|
||||||
// e.afficher(std::bind(&Plateau::afficherPlateau, &p, true));
|
// e.afficher(std::bind(&Plateau::afficherPlateau, &p, true));
|
||||||
|
|
||||||
|
|
Reference in a new issue