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/src/Safari/PieceSafari.cpp
2024-01-11 19:37:39 +01:00

45 lines
1.2 KiB
C++

#include "../../includes/Safari/PieceSafari.hpp"
PieceSafari::PieceSafari(const enum Categorie cat, const int posX,
const int posY, const int pos2X, const int pos2Y)
: Piece(to_string(cat), posX, posY), _category(cat), pos2({pos2X, pos2Y}) {}
PieceSafari::~PieceSafari() {}
const std::string PieceSafari::to_string(const enum Categorie cat) const {
switch (cat) {
case Barriere:
return "Barrière";
case Elephant:
return "Éléphant";
case Rhinoceros:
return "Rhinocéros";
case Lion:
return "Lion";
default:
throw std::logic_error("Catégorie inconnue (PieceSafari).");
}
}
const sf::Color PieceSafari::getScreenColor() const {
// Pas utilisé dans le Safari car les pièces sont différentes par leur formes
// et leur couleur est donc fixe et défini également dans l'affichage
return sf::Color::White;
}
enum PieceSafari::Categorie PieceSafari::getCategory() const {
return _category;
}
std::string PieceSafari::getName() const {
return categorie;
}
Position PieceSafari::getPos2() const {
if (_category != Barriere) {
throw std::logic_error("Cette pièce n'a pas de seconde position.");
}
return pos2;
}