36 lines
827 B
C++
36 lines
827 B
C++
#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
|
|
const Joueur &joueur2;
|
|
const Joueur *joueur3;
|
|
|
|
// Barrières
|
|
std::vector<PieceSafari *> barrieres;
|
|
|
|
public:
|
|
Safari(Joueur &joueur1, Joueur &joueur2,
|
|
Joueur *joueur3 = nullptr); // constructor
|
|
virtual ~Safari(); // destructor
|
|
|
|
// Fonction de jeu
|
|
void play() override;
|
|
|
|
// Fonction d'évènement
|
|
void event(const int x, const int y) override;
|
|
|
|
// Position curseur
|
|
const std::pair<const int, const int> getPosition() const override;
|
|
|
|
// Fonction d'initialisation du jeu
|
|
void choixAnimal(const PieceSafari::Categorie animal);
|
|
};
|