Début initialisation pour Butin
This commit is contained in:
parent
0c72d11ab9
commit
707caa59b3
6 changed files with 66 additions and 4 deletions
|
@ -2,15 +2,22 @@
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
#include "../includes/Joueur.hpp"
|
||||||
|
#include "../includes/PlateauButin.hpp"
|
||||||
|
|
||||||
class Butin {
|
class Butin {
|
||||||
friend std::ostream &operator<<(std::ostream &, const Butin &);
|
friend std::ostream &operator<<(std::ostream &, const Butin &);
|
||||||
|
|
||||||
// Plateau de jeu
|
// Plateau de jeu
|
||||||
|
PlateauButin plateau;
|
||||||
|
|
||||||
// Joueurs
|
// Joueurs
|
||||||
|
Joueur &joueur1;
|
||||||
|
Joueur &joueur2;
|
||||||
|
Joueur &joueurCourant;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Butin(); // constructor
|
Butin(Joueur &joueur1, Joueur &joueur2); // constructor
|
||||||
virtual ~Butin(); // destructor
|
virtual ~Butin(); // destructor
|
||||||
|
|
||||||
Butin(const Butin &); // copy constructor
|
Butin(const Butin &); // copy constructor
|
||||||
|
|
|
@ -7,7 +7,7 @@ class Plateau {
|
||||||
|
|
||||||
// Taille du plateau
|
// Taille du plateau
|
||||||
int taille;
|
int taille;
|
||||||
|
protected:
|
||||||
// Tableau représentant le plateau de jeu
|
// Tableau représentant le plateau de jeu
|
||||||
Piece ***plateau;
|
Piece ***plateau;
|
||||||
|
|
||||||
|
|
13
includes/PlateauButin.hpp
Normal file
13
includes/PlateauButin.hpp
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Plateau.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
class PlateauButin : public Plateau {
|
||||||
|
public:
|
||||||
|
PlateauButin(int taille);
|
||||||
|
virtual ~PlateauButin();
|
||||||
|
|
||||||
|
// Initialise le plateau du Butin
|
||||||
|
void initialiserPlateau(Joueur &j1, Joueur &j2) override;
|
||||||
|
};
|
|
@ -1,10 +1,17 @@
|
||||||
#include "../includes/Butin.hpp"
|
#include "../includes/Butin.hpp"
|
||||||
|
|
||||||
Butin::Butin() { std::cout << "butin\n"; }
|
Butin::Butin(Joueur &j1, Joueur &j2)
|
||||||
|
: plateau(PlateauButin(8)), joueur1{j1}, joueur2{j2}, joueurCourant{j1}{
|
||||||
|
plateau.initialiserPlateau(j1, j2);
|
||||||
|
}
|
||||||
|
|
||||||
Butin::~Butin() {}
|
Butin::~Butin() {}
|
||||||
|
|
||||||
Butin::Butin(const Butin &) {}
|
Butin::Butin(const Butin &src)
|
||||||
|
: plateau(PlateauButin(8)), joueur1{src.joueur1}, joueur2{src.joueur2},
|
||||||
|
joueurCourant{src.joueurCourant} {
|
||||||
|
plateau.initialiserPlateau(joueur1, joueur2);
|
||||||
|
}
|
||||||
|
|
||||||
const Butin &Butin::operator=(const Butin &src) {
|
const Butin &Butin::operator=(const Butin &src) {
|
||||||
if (this == &src) {
|
if (this == &src) {
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
PieceButin::PieceButin(const std::string cat) : Piece(cat) {
|
PieceButin::PieceButin(const std::string cat) : Piece(cat) {
|
||||||
std::cout << "pièce - " << cat << "\n";
|
std::cout << "pièce - " << cat << "\n";
|
||||||
|
if(cat=="jaune") this->points=1;
|
||||||
|
if(cat=="rouge") this->points=2;
|
||||||
|
if(cat=="noire") this->points=3;
|
||||||
}
|
}
|
||||||
|
|
||||||
PieceButin::~PieceButin() {}
|
PieceButin::~PieceButin() {}
|
||||||
|
|
32
src/PlateauButin.cpp
Normal file
32
src/PlateauButin.cpp
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#include "../includes/PlateauButin.hpp"
|
||||||
|
#include "../includes/PieceButin.hpp"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
#include <random>
|
||||||
|
|
||||||
|
PlateauButin::PlateauButin(int t) : Plateau(t) {}
|
||||||
|
|
||||||
|
PlateauButin::~PlateauButin() {}
|
||||||
|
|
||||||
|
|
||||||
|
// On utilise pas les arguments ici, à voir si il faut vraiment faire un override
|
||||||
|
void PlateauButin::initialiserPlateau(Joueur &j1, Joueur &j2){
|
||||||
|
// Vecteur de toutes les pièeces du jeu
|
||||||
|
std::vector<PieceButin> pieces;
|
||||||
|
for(int i=0;i<34;i++) pieces.push_back(PieceButin("jaune"));
|
||||||
|
for(int i=0;i<20;i++) pieces.push_back(PieceButin("rouge"));
|
||||||
|
for(int i=0;i<10;i++) pieces.push_back(PieceButin("noire"));
|
||||||
|
|
||||||
|
// Mélange le vecteur de pièces (j'ai jamais utilisé ça pour randomiser faudra que je test que ça fonctionne bien)
|
||||||
|
std::random_device rd;
|
||||||
|
std::mt19937 g(rd());
|
||||||
|
std::shuffle(pieces.begin(), pieces.end(), g);
|
||||||
|
|
||||||
|
// Place toutes les pieces sur le plateau
|
||||||
|
int index=0;
|
||||||
|
for(int i=0;i<8;i++){
|
||||||
|
for(int j=0;j<8;j++){
|
||||||
|
plateau[i][j] = &pieces[index++];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in a new issue