#pragma once
#include <iostream>
#include "../Joueur.hpp"
#include "PieceSafari.hpp"
#include "PlateauSafari.hpp"
class Safari {
friend std::ostream &operator<<(std::ostream &, const Safari &);
// Plateau de jeu
PlateauSafari plateau;
// Joueurs
Joueur &joueur1;
Joueur &joueur2;
Joueur &joueur3;
Joueur &joueurCourant;
// Barrières
std::vector<PieceSafari *> barrieres;
public:
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 init();
void choixAnimal(const PieceSafari::Categorie animal) const;
};