This repository has been archived on 2024-01-18. You can view files and clone it, but cannot push or open issues or pull requests.
DamesEtCo/includes/Butin/Butin.hpp

59 lines
1.4 KiB
C++
Raw Normal View History

#pragma once
2023-12-27 22:44:32 +01:00
#include "../Jeu.hpp"
#include "PlateauButin.hpp"
2023-12-03 17:27:06 +01:00
2023-12-28 19:55:50 +01:00
struct PieceButin;
2023-12-27 22:44:32 +01:00
class Butin : private Jeu {
friend std::ostream &operator<<(std::ostream &, const Butin &);
// Plateau de jeu
2023-12-03 17:27:06 +01:00
PlateauButin plateau;
// Joueurs
Joueur &joueur2;
// Etape du jeu, pour savoir où on en est
enum Etape {
ChoixJ1 = 0,
ChoixJ2,
EnJeu,
Fini,
};
2023-12-28 22:05:00 +01:00
// Où l'on se trouve dans le jeu, à quelle étape nous sommes
enum Etape etape;
2023-12-28 22:05:00 +01:00
// Permet de transformer une Piece en PieceButin
2023-12-31 04:59:45 +01:00
const PieceButin *getPiece(const int x, const int y) const;
2023-12-28 19:55:50 +01:00
2023-12-28 22:05:00 +01:00
// Message quand les joueurs retirent les pièces au début du jeu
2023-12-31 04:59:45 +01:00
const std::string msgPieceJaune(const bool erreur = false) const;
2023-12-28 22:05:00 +01:00
// Message à chaque tour du joueur
2023-12-31 04:59:45 +01:00
const std::string msgTonTour() const;
// Message affichant le nombre de points
2024-01-07 12:44:33 +01:00
const std::string msgPoints(const Position points) const;
// Position curseur
2024-01-07 12:44:33 +01:00
const Position getPosition() const override;
// Change de joueur courant
void changerJoueurCourant();
2023-12-28 22:05:00 +01:00
2024-01-06 17:49:25 +01:00
// Renvoie le nombre de points des joueurs 1 et 2
2024-01-07 12:44:33 +01:00
Position calculpoints(const bool finPartie = false) const;
2024-01-06 17:49:25 +01:00
public:
Butin(Joueur &joueur1, Joueur &joueur2); // constructor
virtual ~Butin(); // destructor
// Fonction de jeu
void play() override;
// Fonction d'évènement
void event(const int x, const int y) override;
};