Safari
This commit is contained in:
parent
707caa59b3
commit
a1f9e5d2c5
7 changed files with 70 additions and 5 deletions
|
@ -11,7 +11,8 @@ class Joueur {
|
||||||
|
|
||||||
// Pièces du joueur
|
// Pièces du joueur
|
||||||
// Pour le butin, tout simplement les pièces que le joueur gagne.
|
// Pour le butin, tout simplement les pièces que le joueur gagne.
|
||||||
// Pour les autres jeux, peut être uniquement les pieces sur le plateau.
|
// Pour les dames, peut être uniquement les pieces sur le plateau.
|
||||||
|
// Pour le safari, les animaux du joueur
|
||||||
std::vector<Piece *> pieces;
|
std::vector<Piece *> pieces;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
9
includes/PieceSafari.hpp
Normal file
9
includes/PieceSafari.hpp
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Piece.hpp"
|
||||||
|
|
||||||
|
class PieceSafari : public Piece {
|
||||||
|
public:
|
||||||
|
PieceSafari(std::string categorie);
|
||||||
|
virtual ~PieceSafari();
|
||||||
|
};
|
12
includes/PlateauSafari.hpp
Normal file
12
includes/PlateauSafari.hpp
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Plateau.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
class PlateauSafari : public Plateau {
|
||||||
|
public:
|
||||||
|
PlateauSafari(int taille);
|
||||||
|
virtual ~PlateauSafari();
|
||||||
|
|
||||||
|
|
||||||
|
};
|
|
@ -2,19 +2,33 @@
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
#include "../includes/Joueur.hpp"
|
||||||
|
#include "../includes/PlateauSafari.hpp"
|
||||||
|
#include "../includes/PieceSafari.hpp"
|
||||||
|
|
||||||
class Safari {
|
class Safari {
|
||||||
friend std::ostream &operator<<(std::ostream &, const Safari &);
|
friend std::ostream &operator<<(std::ostream &, const Safari &);
|
||||||
|
|
||||||
// Plateau de jeu
|
// Plateau de jeu
|
||||||
|
PlateauSafari plateau;
|
||||||
|
|
||||||
|
//Barrières
|
||||||
|
std::vector<PieceSafari *> barrieres;
|
||||||
|
|
||||||
// Joueurs
|
// Joueurs
|
||||||
|
Joueur &joueur1;
|
||||||
|
Joueur &joueur2;
|
||||||
|
Joueur &joueur3;
|
||||||
|
Joueur &joueurCourant;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Safari(); // constructor
|
Safari(Joueur &joueur1, Joueur &joueur2, Joueur &joueur3); // constructor
|
||||||
virtual ~Safari(); // destructor
|
virtual ~Safari(); // destructor
|
||||||
|
|
||||||
Safari(const Safari &); // copy constructor
|
Safari(const Safari &); // copy constructor
|
||||||
const Safari &operator=(const Safari &); // copy assignement
|
const Safari &operator=(const Safari &); // copy assignement
|
||||||
};
|
|
||||||
|
|
||||||
// Fonction d'initialisation du jeu
|
// Fonction d'initialisation du jeu
|
||||||
|
void choixAnimal(std::string animal);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
7
src/PieceSafari.cpp
Normal file
7
src/PieceSafari.cpp
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#include "../includes/PieceSafari.hpp"
|
||||||
|
|
||||||
|
PieceSafari::PieceSafari(const std::string cat) : Piece(cat) {
|
||||||
|
std::cout << "pièce - " << cat << "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
PieceSafari::~PieceSafari() {}
|
5
src/PlateauSafari.cpp
Normal file
5
src/PlateauSafari.cpp
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#include "../includes/PlateauSafari.hpp"
|
||||||
|
|
||||||
|
PlateauSafari::PlateauSafari(int t) : Plateau(t) {}
|
||||||
|
|
||||||
|
PlateauSafari::~PlateauSafari() {}
|
|
@ -1,10 +1,19 @@
|
||||||
#include "../includes/Safari.hpp"
|
#include "../includes/Safari.hpp"
|
||||||
|
|
||||||
Safari::Safari() { std::cout << "safari\n"; }
|
Safari::Safari(Joueur &j1, Joueur &j2, Joueur &j3)
|
||||||
|
: plateau(PlateauSafari(8)), joueur1{j1}, joueur2{j2}, joueur3{j3}, joueurCourant{j1}{
|
||||||
|
for(int i=0;i<50;i++)
|
||||||
|
barrieres.push_back(new PieceSafari("barriere"));
|
||||||
|
}
|
||||||
|
|
||||||
Safari::~Safari() {}
|
Safari::~Safari() {}
|
||||||
|
|
||||||
Safari::Safari(const Safari &) {}
|
Safari::Safari(const Safari &src)
|
||||||
|
: plateau(PlateauSafari(8)), 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"));
|
||||||
|
}
|
||||||
|
|
||||||
const Safari &Safari::operator=(const Safari &src) {
|
const Safari &Safari::operator=(const Safari &src) {
|
||||||
if (this == &src) {
|
if (this == &src) {
|
||||||
|
@ -13,3 +22,11 @@ const Safari &Safari::operator=(const Safari &src) {
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Safari::choixAnimal(std::string animal){
|
||||||
|
if(animal!="éléphant" || animal!="rhinocéros" || animal!="lion")
|
||||||
|
throw std::invalid_argument("Animal non valide");
|
||||||
|
if(joueurCourant.getPieces().empty())
|
||||||
|
for(int i=0;i<3;i++)
|
||||||
|
joueurCourant.ajoutPiece(new PieceSafari(animal));
|
||||||
|
}
|
Reference in a new issue