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
|
||||
// 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;
|
||||
|
||||
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 "../includes/Joueur.hpp"
|
||||
#include "../includes/PlateauSafari.hpp"
|
||||
#include "../includes/PieceSafari.hpp"
|
||||
|
||||
class Safari {
|
||||
friend std::ostream &operator<<(std::ostream &, const Safari &);
|
||||
|
||||
// Plateau de jeu
|
||||
PlateauSafari plateau;
|
||||
|
||||
//Barrières
|
||||
std::vector<PieceSafari *> barrieres;
|
||||
|
||||
// Joueurs
|
||||
Joueur &joueur1;
|
||||
Joueur &joueur2;
|
||||
Joueur &joueur3;
|
||||
Joueur &joueurCourant;
|
||||
|
||||
public:
|
||||
Safari(); // constructor
|
||||
Safari(Joueur &joueur1, Joueur &joueur2, Joueur &joueur3); // constructor
|
||||
virtual ~Safari(); // destructor
|
||||
|
||||
Safari(const Safari &); // copy constructor
|
||||
const Safari &operator=(const Safari &); // copy assignement
|
||||
};
|
||||
|
||||
// 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"
|
||||
|
||||
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(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) {
|
||||
if (this == &src) {
|
||||
|
@ -13,3 +22,11 @@ const Safari &Safari::operator=(const Safari &src) {
|
|||
|
||||
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