#pragma once
#include "../Jeu.hpp"
#include "PieceSafari.hpp"
#include "PlateauSafari.hpp"
class Safari : private Jeu {
friend std::ostream &operator<<(std::ostream &, const Safari &);
// Plateau de jeu
PlateauSafari plateau;
// Joueurs
Joueur &joueur2;
Joueur *joueur3;
// Barrières
std::vector<PieceSafari *> barrieres;
public:
Safari(Joueur &joueur1, Joueur &joueur2,
Joueur *joueur3 = nullptr); // constructor
virtual ~Safari(); // destructor
Safari(const Safari &); // copy constructor
const Safari &operator=(const Safari &); // copy assignement
// Fonction d'initialisation du jeu
void init() override;
void choixAnimal(const PieceSafari::Categorie animal) const;
};