refactor: Plateau
This commit is contained in:
parent
0741124604
commit
1beaf6bedd
10 changed files with 56 additions and 31 deletions
|
@ -3,13 +3,13 @@
|
|||
#include <iostream>
|
||||
|
||||
#include "../Joueur.hpp"
|
||||
#include "../Plateau.hpp"
|
||||
#include "PlateauDames.hpp"
|
||||
|
||||
class Dames {
|
||||
friend std::ostream &operator<<(std::ostream &, const Dames &);
|
||||
|
||||
// Plateau de jeu
|
||||
Plateau plateau;
|
||||
PlateauDames plateau;
|
||||
|
||||
// Joueurs
|
||||
Joueur &joueur1;
|
||||
|
|
12
includes/Dames/PlateauDames.hpp
Normal file
12
includes/Dames/PlateauDames.hpp
Normal file
|
@ -0,0 +1,12 @@
|
|||
#pragma once
|
||||
|
||||
#include "../Plateau.hpp"
|
||||
|
||||
class PlateauDames : public Plateau {
|
||||
public:
|
||||
PlateauDames();
|
||||
virtual ~PlateauDames();
|
||||
|
||||
// Initialise le plateau de Dames
|
||||
void initialiserPlateau(Joueur &j1, Joueur &j2) override;
|
||||
};
|
|
@ -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);
|
||||
virtual void initialiserPlateau(Joueur &j1, Joueur &j2) = 0;
|
||||
|
||||
// Fonction pour afficher le plateau (selon le jeu)
|
||||
void afficherPlateau(const bool debug = false);
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
|
||||
class PlateauSafari : public Plateau {
|
||||
public:
|
||||
PlateauSafari(int taille);
|
||||
PlateauSafari();
|
||||
virtual ~PlateauSafari();
|
||||
|
||||
// Initialise le plateau du Safari
|
||||
void initialiserPlateau(Joueur &j1, Joueur &j2) override;
|
||||
};
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "../../includes/Dames/Dames.hpp"
|
||||
|
||||
Dames::Dames(Joueur &j1, Joueur &j2)
|
||||
: plateau(Plateau(10)), joueur1(j1), joueur2(j2), joueurCourant(j1) {
|
||||
: plateau(PlateauDames()), joueur1(j1), joueur2(j2), joueurCourant(j1) {
|
||||
std::srand(static_cast<unsigned int>(time(0)));
|
||||
int r = std::rand() % 2;
|
||||
if (r == 0) {
|
||||
|
@ -21,7 +21,7 @@ Dames::Dames(Joueur &j1, Joueur &j2)
|
|||
Dames::~Dames() {}
|
||||
|
||||
Dames::Dames(const Dames &src)
|
||||
: plateau(Plateau(10)), joueur1{src.joueur1}, joueur2{src.joueur2},
|
||||
: plateau(PlateauDames()), joueur1{src.joueur1}, joueur2{src.joueur2},
|
||||
joueurCourant{src.joueurCourant} {
|
||||
plateau.initialiserPlateau(joueur1, joueur2);
|
||||
}
|
||||
|
|
26
src/Dames/PlateauDames.cpp
Normal file
26
src/Dames/PlateauDames.cpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
#include "../../includes/Dames/PlateauDames.hpp"
|
||||
#include "../../includes/Dames/PieceDames.hpp"
|
||||
|
||||
PlateauDames::PlateauDames() : Plateau(10) {}
|
||||
|
||||
PlateauDames::~PlateauDames() {}
|
||||
|
||||
void PlateauDames::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
||||
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("noire");
|
||||
j1.ajoutPiece(plateau[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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("blanche");
|
||||
j2.ajoutPiece(plateau[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -19,26 +19,6 @@ Plateau::~Plateau() {
|
|||
delete[] plateau;
|
||||
}
|
||||
|
||||
void Plateau::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
||||
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("noire");
|
||||
j1.ajoutPiece(plateau[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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("blanche");
|
||||
j2.ajoutPiece(plateau[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Plateau::afficherPlateau(const bool d) {
|
||||
const float tailleCellule =
|
||||
static_cast<float>(Ecran::window.getSize().x) / taille;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
#include "../../includes/Safari/PlateauSafari.hpp"
|
||||
|
||||
PlateauSafari::PlateauSafari(int t) : Plateau(t) {}
|
||||
PlateauSafari::PlateauSafari() : Plateau(8) {}
|
||||
|
||||
PlateauSafari::~PlateauSafari() {}
|
||||
|
||||
void PlateauSafari::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
||||
// TODO
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "../../includes/Safari/Safari.hpp"
|
||||
|
||||
Safari::Safari(Joueur &j1, Joueur &j2, Joueur &j3)
|
||||
: plateau(PlateauSafari(8)), joueur1{j1}, joueur2{j2}, joueur3{j3},
|
||||
: plateau(PlateauSafari()), joueur1{j1}, joueur2{j2}, joueur3{j3},
|
||||
joueurCourant{j1} {
|
||||
for (int i = 0; i < 50; i++) {
|
||||
barrieres.push_back(new PieceSafari("barriere"));
|
||||
|
@ -11,7 +11,7 @@ Safari::Safari(Joueur &j1, Joueur &j2, Joueur &j3)
|
|||
Safari::~Safari() {}
|
||||
|
||||
Safari::Safari(const Safari &src)
|
||||
: plateau(PlateauSafari(8)), joueur1{src.joueur1}, joueur2{src.joueur2},
|
||||
: plateau(PlateauSafari()), joueur1{src.joueur1}, joueur2{src.joueur2},
|
||||
joueur3{src.joueur3}, joueurCourant{src.joueurCourant} {
|
||||
for (int i = 0; i < 50; i++) {
|
||||
barrieres.push_back(new PieceSafari("barriere"));
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include "../includes/Dames/PlateauDames.hpp"
|
||||
#include "../includes/Ecran.hpp"
|
||||
#include "../includes/Plateau.hpp"
|
||||
|
||||
int main() {
|
||||
Plateau p(10);
|
||||
PlateauDames p;
|
||||
Ecran e;
|
||||
// e.afficher(std::bind(&Plateau::afficherPlateau, &p, true));
|
||||
|
||||
|
|
Reference in a new issue