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
Mylloon 5dcca2bb3e
WIP
* ajout de positions supplémentaires pour les barrières
* ajout d'un placeholder visuel pour aider a placer une barriere
2024-01-07 14:14:11 +01:00

45 lines
1 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(std::make_pair(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 {
// TODO
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;
}