safari plateau colors, steps
This commit is contained in:
parent
b3fa493702
commit
9a60ee5eb6
3 changed files with 82 additions and 7 deletions
|
@ -9,4 +9,7 @@ public:
|
||||||
|
|
||||||
// Initialise le plateau du Safari
|
// Initialise le plateau du Safari
|
||||||
void initialiserPlateau() override;
|
void initialiserPlateau() override;
|
||||||
|
|
||||||
|
// Fonction pour afficher le plateau vers une sortie
|
||||||
|
void afficherPlateau(std::ostream &, const bool debug = false) const override;
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,9 +14,33 @@ class Safari : private Jeu {
|
||||||
const Joueur &joueur2;
|
const Joueur &joueur2;
|
||||||
const Joueur *joueur3;
|
const Joueur *joueur3;
|
||||||
|
|
||||||
|
// Etape du jeu, pour savoir où on en est
|
||||||
|
enum Etape {
|
||||||
|
ChoixJ1 = 0,
|
||||||
|
ChoixJ2,
|
||||||
|
ChoixJ3,
|
||||||
|
EnJeu,
|
||||||
|
Fini,
|
||||||
|
};
|
||||||
|
|
||||||
|
// Où l'on se trouve dans le jeu, à quelle étape nous sommes
|
||||||
|
enum Etape etape;
|
||||||
|
|
||||||
// Barrières
|
// Barrières
|
||||||
std::vector<PieceSafari *> barrieres;
|
std::vector<PieceSafari *> barrieres;
|
||||||
|
|
||||||
|
// Permet de transformer une Piece en PieceSafari
|
||||||
|
const PieceSafari *getPiece(const int x, const int y) const;
|
||||||
|
|
||||||
|
// Position curseur
|
||||||
|
const std::pair<const int, const int> getPosition() const override;
|
||||||
|
|
||||||
|
// Change de joueur courant
|
||||||
|
void changerJoueurCourant();
|
||||||
|
|
||||||
|
// Assignie un animal au joueur courant
|
||||||
|
void choixAnimal(const PieceSafari::Categorie animal);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Safari(Joueur &joueur1, Joueur &joueur2,
|
Safari(Joueur &joueur1, Joueur &joueur2,
|
||||||
Joueur *joueur3 = nullptr); // constructor
|
Joueur *joueur3 = nullptr); // constructor
|
||||||
|
@ -27,10 +51,4 @@ public:
|
||||||
|
|
||||||
// Fonction d'évènement
|
// Fonction d'évènement
|
||||||
void event(const int x, const int y) override;
|
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);
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,9 +1,63 @@
|
||||||
#include "../../includes/Safari/PlateauSafari.hpp"
|
#include "../../includes/Safari/PlateauSafari.hpp"
|
||||||
|
#include "../../includes/Ecran.hpp"
|
||||||
|
|
||||||
PlateauSafari::PlateauSafari() : Plateau(8) {}
|
PlateauSafari::PlateauSafari() : Plateau(8) {}
|
||||||
|
|
||||||
PlateauSafari::~PlateauSafari() {}
|
PlateauSafari::~PlateauSafari() {}
|
||||||
|
|
||||||
void PlateauSafari::initialiserPlateau() {
|
void PlateauSafari::initialiserPlateau() {
|
||||||
// TODO
|
// Au début, le plateau est vide
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlateauSafari::afficherPlateau(std::ostream &out, const bool d) const {
|
||||||
|
const float tailleCellule = static_cast<float>(Ecran::largeur()) / taille;
|
||||||
|
|
||||||
|
// Cellule
|
||||||
|
sf::RectangleShape cell(sf::Vector2f(tailleCellule, tailleCellule));
|
||||||
|
|
||||||
|
// Couleurs
|
||||||
|
sf::Color jaune = sf::Color(255, 200, 40);
|
||||||
|
sf::Color marron = sf::Color(155, 60, 40);
|
||||||
|
|
||||||
|
for (int i = 0; i < taille; i++) {
|
||||||
|
for (int j = 0; j < taille; j++) {
|
||||||
|
const float x = i * tailleCellule;
|
||||||
|
const float y = j * tailleCellule;
|
||||||
|
|
||||||
|
// Position de la cellule et de la pièce
|
||||||
|
cell.setPosition(x, y);
|
||||||
|
if (d) {
|
||||||
|
out << "(" << x << ", " << y;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Alternation des couleurs
|
||||||
|
if ((i + j) % 2 == 0) {
|
||||||
|
cell.setFillColor(jaune);
|
||||||
|
if (d) {
|
||||||
|
out << ", J), ";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cell.setFillColor(marron);
|
||||||
|
if (d) {
|
||||||
|
out << ", M), ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dessine la cellule
|
||||||
|
Ecran::window.draw(cell);
|
||||||
|
|
||||||
|
// Dessine la piece
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
if (d) {
|
||||||
|
out << "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dessine les mur
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
if (d) {
|
||||||
|
out << "---\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue