45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "../includes/Piece.hpp"
|
|
|
|
class Plateau {
|
|
friend std::ostream &operator<<(std::ostream &, const Plateau &);
|
|
|
|
protected:
|
|
// Tableau représentant le plateau de jeu
|
|
Piece ***plateau;
|
|
|
|
// Taille du plateau
|
|
int taille;
|
|
|
|
// Piece actuellement selectionnée
|
|
Piece *selection;
|
|
|
|
public:
|
|
Plateau(const int taille); // constructor
|
|
virtual ~Plateau(); // destructor
|
|
|
|
// Fonction pour initialiser le plateau (selon le jeu)
|
|
// Seulement deux joueurs pour le jeu de dame uniquement, je suis pas sûre de
|
|
// comment initialiser la fonction autrement
|
|
virtual void initialiserPlateau() = 0;
|
|
|
|
// Fonction pour afficher le plateau (selon le jeu) vers une sortie
|
|
void afficherPlateau(std::ostream &, const bool debug = false) const;
|
|
|
|
// Fonction pour modifier le plateau
|
|
// Si piece = nullptr alors on retire la pièce du plateau
|
|
void modifierPlateau(const int x, const int y, Piece *piece) const;
|
|
|
|
// Renvoie une pièce à une position donnnée
|
|
Piece *getPiece(const int x, const int y) const;
|
|
|
|
// Prend des coordonnées-écran et renvoie des coordonnées-jeu
|
|
std::pair<int, int> trouveCoordonnees(const int x, const int y) const;
|
|
|
|
// Renvoie la taille du plateau
|
|
int getTaille() const;
|
|
|
|
// Change la pièce selectionnée
|
|
void modifierSelection(const int x, const int y);
|
|
};
|