Gère l'initialisation
This commit is contained in:
parent
8d3b8a7668
commit
59c232ac15
3 changed files with 34 additions and 10 deletions
|
@ -3,6 +3,8 @@
|
||||||
#include "../Jeu.hpp"
|
#include "../Jeu.hpp"
|
||||||
#include "PlateauButin.hpp"
|
#include "PlateauButin.hpp"
|
||||||
|
|
||||||
|
struct PieceButin;
|
||||||
|
|
||||||
class Butin : private Jeu {
|
class Butin : private Jeu {
|
||||||
friend std::ostream &operator<<(std::ostream &, const Butin &);
|
friend std::ostream &operator<<(std::ostream &, const Butin &);
|
||||||
|
|
||||||
|
@ -22,6 +24,8 @@ class Butin : private Jeu {
|
||||||
|
|
||||||
enum Etape etape;
|
enum Etape etape;
|
||||||
|
|
||||||
|
PieceButin *getPiece(const int x, const int y) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Butin(Joueur &joueur1, Joueur &joueur2); // constructor
|
Butin(Joueur &joueur1, Joueur &joueur2); // constructor
|
||||||
virtual ~Butin(); // destructor
|
virtual ~Butin(); // destructor
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../Piece.hpp"
|
#include "../Piece.hpp"
|
||||||
|
#include "Butin.hpp"
|
||||||
|
|
||||||
struct PieceButin : public Piece {
|
struct PieceButin : public Piece {
|
||||||
|
friend Butin;
|
||||||
|
|
||||||
enum Categorie {
|
enum Categorie {
|
||||||
Jaune = 1,
|
Jaune = 1,
|
||||||
Rouge = 2,
|
Rouge = 2,
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "../../includes/Butin/Butin.hpp"
|
#include "../../includes/Butin/Butin.hpp"
|
||||||
|
#include "../../includes/Butin/PieceButin.hpp"
|
||||||
#include "../../includes/Ecran.hpp"
|
#include "../../includes/Ecran.hpp"
|
||||||
|
|
||||||
Butin::Butin(Joueur &j1, Joueur &j2)
|
Butin::Butin(Joueur &j1, Joueur &j2)
|
||||||
|
@ -14,6 +15,10 @@ std::ostream &operator<<(std::ostream &out, const Butin &data) {
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PieceButin *Butin::getPiece(const int x, const int y) const {
|
||||||
|
return dynamic_cast<PieceButin *>(plateau.getPiece(x, y));
|
||||||
|
}
|
||||||
|
|
||||||
void Butin::init() {
|
void Butin::init() {
|
||||||
plateau.initialiserPlateau();
|
plateau.initialiserPlateau();
|
||||||
|
|
||||||
|
@ -47,36 +52,48 @@ void Butin::event(const int x, const int y) {
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (etape) {
|
switch (etape) {
|
||||||
case (Etape::ChoixJ1):
|
case (Etape::ChoixJ1): {
|
||||||
// Clic du J1
|
// Clic du J1
|
||||||
// TODO: Vérifier que la pièce est jaune
|
// Vérifier que la pièce est jaune
|
||||||
if (true) {
|
if (getPiece(posCurseur.first, posCurseur.second)->points ==
|
||||||
// TODO: retirer une pièce
|
PieceButin::Jaune) {
|
||||||
|
|
||||||
|
// Retire la pièce
|
||||||
|
plateau.modifierPlateau(posCurseur.first, posCurseur.second, nullptr);
|
||||||
|
|
||||||
// On passe à l'étape suivante
|
// On passe à l'étape suivante
|
||||||
etape = ChoixJ2;
|
etape = ChoixJ2;
|
||||||
Ecran::printMessage(
|
Ecran::printMessage(
|
||||||
"Joueur 2, retirez une piece jaune en cliquant dessus.");
|
"Joueur 2, retirez une piece jaune en cliquant dessus.");
|
||||||
|
} else {
|
||||||
|
Ecran::printMessage("Joueur 1, retirez une piece jaune en cliquant "
|
||||||
|
"dessus. Mauvaise Pièce.");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ChoixJ2:
|
}
|
||||||
|
case ChoixJ2: {
|
||||||
// Clic du J2
|
// Clic du J2
|
||||||
// TODO: Vérifier que la pièce est jaune
|
// Vérifier que la pièce est jaune
|
||||||
if (true) {
|
if (getPiece(posCurseur.first, posCurseur.second)->points ==
|
||||||
// TODO: retirer une pièce
|
PieceButin::Jaune) {
|
||||||
|
// Retire la pièce
|
||||||
|
plateau.modifierPlateau(posCurseur.first, posCurseur.second, nullptr);
|
||||||
|
|
||||||
// On passe à l'étape suivante
|
// On passe à l'étape suivante
|
||||||
etape = EnJeu;
|
etape = EnJeu;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EnJeu:
|
}
|
||||||
|
case EnJeu: {
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case Fini:
|
}
|
||||||
|
case Fini: {
|
||||||
// TODO: Afficher le nom du gagnant
|
// TODO: Afficher le nom du gagnant
|
||||||
Ecran::printMessage("Bravo !");
|
Ecran::printMessage("Bravo !");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Texte de debug
|
// Texte de debug
|
||||||
std::cout << "Clic souris @ (" << x << ", " << y << ") aka ("
|
std::cout << "Clic souris @ (" << x << ", " << y << ") aka ("
|
||||||
|
|
Reference in a new issue