45 lines
1.2 KiB
C++
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;
|
|
}
|