diff --git a/includes/Butin/Butin.hpp b/includes/Butin/Butin.hpp index c5eb741..8c2d9e4 100644 --- a/includes/Butin/Butin.hpp +++ b/includes/Butin/Butin.hpp @@ -35,16 +35,16 @@ class Butin : private Jeu { const std::string msgTonTour() const; // Message affichant le nombre de points - const std::string msgPoints(const std::pair points) const; + const std::string msgPoints(const Position points) const; // Position curseur - const std::pair getPosition() const override; + const Position getPosition() const override; // Change de joueur courant void changerJoueurCourant(); // Renvoie le nombre de points des joueurs 1 et 2 - std::pair calculpoints(const bool finPartie = false) const; + Position calculpoints(const bool finPartie = false) const; public: Butin(Joueur &joueur1, Joueur &joueur2); // constructor diff --git a/includes/Dames/Dames.hpp b/includes/Dames/Dames.hpp index a5c20e9..c0849a6 100644 --- a/includes/Dames/Dames.hpp +++ b/includes/Dames/Dames.hpp @@ -23,7 +23,7 @@ public: void event(const int x, const int y) override; // Position curseur - const std::pair getPosition() const override; + const Position getPosition() const override; // Vérifie si une prise est possible pour une pièce donnée bool prisePossible(Joueur &joueur) const; diff --git a/includes/Jeu.hpp b/includes/Jeu.hpp index f4c795c..b935903 100644 --- a/includes/Jeu.hpp +++ b/includes/Jeu.hpp @@ -24,5 +24,5 @@ protected: // Récupère la position du curseur // Virtuelle car on aimerais vérifier que le curseur n'est pas en dehors du // plateau et on accès à aucun plateau ici - virtual const std::pair getPosition() const = 0; + virtual const Position getPosition() const = 0; }; diff --git a/includes/Piece.hpp b/includes/Piece.hpp index ae19364..5f28204 100644 --- a/includes/Piece.hpp +++ b/includes/Piece.hpp @@ -1,5 +1,6 @@ #pragma once +#include "types.hpp" #include #include @@ -33,7 +34,7 @@ public: virtual const sf::Color getScreenColor() const = 0; // Renvoie la position de la pièce - const std::pair getPos() const; + const Position getPos() const; // Renvoie si la pièce est selectionnée bool isSelectionnee() const; diff --git a/includes/Plateau.hpp b/includes/Plateau.hpp index 3a5b7f2..12a20c5 100644 --- a/includes/Plateau.hpp +++ b/includes/Plateau.hpp @@ -1,6 +1,7 @@ #pragma once #include "../includes/Piece.hpp" +#include "types.hpp" #include class Plateau { @@ -33,14 +34,13 @@ public: // Fonction pour bouger une pièce, renvoie les anciennes coordonnées de la // pièce bougée (TODO: est-ce utile de renvoyer les anciennes coordonnées ?) - const std::pair moveSelection(const int x, const int y); + const Position moveSelection(const int x, const int y); // 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 - const std::pair trouveCoordonnees(const int x, - const int y) const; + const Position trouveCoordonnees(const int x, const int y) const; // Renvoie la taille du plateau int getTaille() const; diff --git a/includes/Safari/PlateauSafari.hpp b/includes/Safari/PlateauSafari.hpp index d10fb1b..3e7f594 100644 --- a/includes/Safari/PlateauSafari.hpp +++ b/includes/Safari/PlateauSafari.hpp @@ -8,6 +8,9 @@ class PlateauSafari : public Plateau { // Barrières std::vector barrieres; + std::pair placementBarriere1; + std::pair placementBarriere2; + public: PlateauSafari(); virtual ~PlateauSafari(); diff --git a/includes/Safari/Safari.hpp b/includes/Safari/Safari.hpp index 29444eb..398d501 100644 --- a/includes/Safari/Safari.hpp +++ b/includes/Safari/Safari.hpp @@ -39,7 +39,7 @@ class Safari : private Jeu { PieceSafari *getPiece(Piece *) const; // Position curseur - const std::pair getPosition() const override; + const Position getPosition() const override; // Change de joueur courant void changerJoueurCourant(); diff --git a/includes/types.hpp b/includes/types.hpp new file mode 100644 index 0000000..cbd04b3 --- /dev/null +++ b/includes/types.hpp @@ -0,0 +1,5 @@ +#pragma once + +#include + +using Position = std::pair; diff --git a/src/Butin/Butin.cpp b/src/Butin/Butin.cpp index 5c014ef..0b2ccd2 100644 --- a/src/Butin/Butin.cpp +++ b/src/Butin/Butin.cpp @@ -39,7 +39,7 @@ const std::string Butin::msgTonTour() const { ", c'est votre tour. " + msgPoints(calculpoints()); } -const std::string Butin::msgPoints(const std::pair points) const { +const std::string Butin::msgPoints(Position points) const { return "J1 : " + std::to_string(points.first) + " vs " + std::to_string(points.second) + " : J2"; } @@ -124,7 +124,7 @@ void Butin::event(const int x, const int y) { // Mange les pièces sur le chemin for (const Piece *it : chemin) { // Récupère la pièce - const std::pair pos = it->getPos(); + const Position pos = it->getPos(); Piece *gain = plateau.getPiece(pos.first, pos.second); // Retire la pièce @@ -160,7 +160,7 @@ void Butin::event(const int x, const int y) { } } -const std::pair Butin::getPosition() const { +const Position Butin::getPosition() const { if (posCurseur.second > plateau.getTaille() - 1) { std::cerr << "Position inconnu du plateau.\n"; return std::make_pair(-1, -1); @@ -177,7 +177,7 @@ void Butin::changerJoueurCourant() { } } -std::pair Butin::calculpoints(const bool end) const { +Position Butin::calculpoints(const bool end) const { // Nombre de points des joueurs int j1 = 0, j2 = 0; for (const Piece *it : joueur1.getPieces()) { diff --git a/src/Butin/PlateauButin.cpp b/src/Butin/PlateauButin.cpp index fa72b88..d4437d2 100644 --- a/src/Butin/PlateauButin.cpp +++ b/src/Butin/PlateauButin.cpp @@ -47,7 +47,7 @@ void PlateauButin::initialiserPlateau() { const std::vector PlateauButin::cheminPieces(const int destX, const int destY) const { - const std::pair posSelection = selection->getPos(); + const Position posSelection = selection->getPos(); return cheminPieces(posSelection.first, posSelection.second, destX, destY); } @@ -104,10 +104,10 @@ bool PlateauButin::selectionJaune() const { bool PlateauButin::coupsPossible() const { // Liste des cases vides - std::vector> casesVides; + std::vector casesVides; // Liste des pièces jaunes - std::vector> piecesJaunes; + std::vector piecesJaunes; for (int i = 0; i < taille; ++i) { for (int j = 0; j < taille; ++j) { @@ -124,9 +124,9 @@ bool PlateauButin::coupsPossible() const { } } - for (std::pair p : piecesJaunes) { + for (Position p : piecesJaunes) { // Parmis toutes les pièces jaunes - for (std::pair it : casesVides) { + for (Position it : casesVides) { // Si le déplacement vers une case vide peut donner des points if (!cheminPieces(p.first, p.second, it.first, it.second).empty()) { return true; diff --git a/src/Dames/Dames.cpp b/src/Dames/Dames.cpp index d183122..7e3a804 100644 --- a/src/Dames/Dames.cpp +++ b/src/Dames/Dames.cpp @@ -32,7 +32,7 @@ void Dames::play() { void Dames::event(const int, const int) {} -const std::pair Dames::getPosition() const { +const Position Dames::getPosition() const { if (posCurseur.second > plateau.getTaille() - 1) { std::cerr << "Position inconnu du plateau.\n"; return std::make_pair(-1, -1); @@ -52,7 +52,7 @@ bool Dames::prisePossible(Joueur &joueur) const { int y = 1; for (uint i = 0; i < pieces.size(); i++) { const PieceDames *p = dynamic_cast(pieces[i]); - const std::pair pos = p->getPos(); + const Position pos = p->getPos(); if (!p) { throw std::runtime_error("Cette pièce est.. étrange."); } diff --git a/src/Piece.cpp b/src/Piece.cpp index e4a8f19..6d54ae8 100644 --- a/src/Piece.cpp +++ b/src/Piece.cpp @@ -23,6 +23,6 @@ bool Piece::isSelectionnee() const { return selected; } -const std::pair Piece::getPos() const { +const Position Piece::getPos() const { return std::make_pair(x, y); } diff --git a/src/Plateau.cpp b/src/Plateau.cpp index f24430f..9daf0a2 100644 --- a/src/Plateau.cpp +++ b/src/Plateau.cpp @@ -109,8 +109,7 @@ Piece *Plateau::getPiece(const int x, const int y) const { } } -const std::pair -Plateau::trouveCoordonnees(const int x, const int y) const { +const Position Plateau::trouveCoordonnees(const int x, const int y) const { const float tailleCelluleX = static_cast(Ecran::largeur()) / taille; const float tailleCelluleY = static_cast(Ecran::hauteur()) / taille; @@ -143,15 +142,14 @@ void Plateau::modifierSelection(const int x, const int y) { } } -const std::pair Plateau::moveSelection(const int x, - const int y) { +const Position Plateau::moveSelection(const int x, const int y) { if (selection == nullptr) { // Ne fais rien si on a rien a bouger return std::make_pair(-1, -1); } // Récupère les coordonnées - const std::pair ancienneCoordonnees = + const Position ancienneCoordonnees = std::make_pair(selection->x, selection->y); // Retire la pièce de là où elle est pour le plateau diff --git a/src/Safari/PlateauSafari.cpp b/src/Safari/PlateauSafari.cpp index e033e33..e2a556f 100644 --- a/src/Safari/PlateauSafari.cpp +++ b/src/Safari/PlateauSafari.cpp @@ -116,7 +116,7 @@ void PlateauSafari::afficherPlateau(std::ostream &out, const bool d) const { } bool PlateauSafari::deplacementValide(const int x, const int y) const { - std::pair posInitiale = selection->getPos(); + Position posInitiale = selection->getPos(); return std::abs(x - posInitiale.first) == 0 || std::abs(y - posInitiale.second) == 0; diff --git a/src/Safari/Safari.cpp b/src/Safari/Safari.cpp index cb2a982..a01a82d 100644 --- a/src/Safari/Safari.cpp +++ b/src/Safari/Safari.cpp @@ -50,7 +50,7 @@ const std::string Safari::msgTonTour() const { action = "déplacez un " + getPiece(joueurCourant->getPieces().at(0))->getName(); } else { - action = "placez une barrière"; + action = "placez une barrière en cliquant sur 2 cases"; } return "Joueur " + std::to_string(joueurCourant->getNum()) + ", " + action + @@ -76,7 +76,7 @@ void Safari::play() { // Pas de joueur 3 // On retire le dernier choix d'animal const Piece *p = plateau.getPieces().at(0); - std::pair pos = p->getPos(); + Position pos = p->getPos(); plateau.modifierPlateau(pos.first, pos.second, nullptr); delete p; @@ -238,7 +238,7 @@ void Safari::event(const int x, const int y) { } } -const std::pair Safari::getPosition() const { +const Position Safari::getPosition() const { if (posCurseur.second > plateau.getTaille() - 1) { std::cerr << "Position inconnu du plateau.\n"; return std::make_pair(-1, -1);