use throw when we can, also throw when 2 screen

This commit is contained in:
Mylloon 2023-12-30 23:02:45 +01:00
parent 16652236a0
commit 5bfd9dd6a6
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
6 changed files with 16 additions and 9 deletions

View file

@ -10,6 +10,8 @@ class Ecran {
static bool fps; static bool fps;
static int count;
public: public:
// Fenêtre // Fenêtre
static sf::RenderWindow window; static sf::RenderWindow window;

View file

@ -18,8 +18,7 @@ std::string PieceButin::to_string(const enum Categorie cat) const {
return "Noire"; return "Noire";
default: default:
std::cerr << "Catégorie inconnue (PieceButin).\n"; throw std::logic_error("Catégorie inconnue (PieceButin).");
exit(EXIT_FAILURE);
} }
} }

View file

@ -56,8 +56,7 @@ bool Dames::prisePossible(Joueur &joueur) const {
for (uint i = 0; i < pieces.size(); i++) { for (uint i = 0; i < pieces.size(); i++) {
PieceDames *p = dynamic_cast<PieceDames *>(pieces[i]); PieceDames *p = dynamic_cast<PieceDames *>(pieces[i]);
if (!p) { if (!p) {
std::cerr << "Cette pièce est.. étrange.\n"; throw std::runtime_error("Cette pièce est.. étrange.");
exit(EXIT_FAILURE);
} }
if (p->getDame()) { if (p->getDame()) {
// if(plateau[x][y] == nullptr) // if(plateau[x][y] == nullptr)

View file

@ -23,8 +23,7 @@ std::string PieceDames::to_string(const enum Categorie cat) const {
return "Noire"; return "Noire";
default: default:
std::cerr << "Catégorie inconnue (PieceDames).\n"; throw std::logic_error("Catégorie inconnue (PieceDames).");
exit(EXIT_FAILURE);
} }
} }

View file

@ -9,7 +9,14 @@ std::string Ecran::message = "";
bool Ecran::fps = false; bool Ecran::fps = false;
int Ecran::count = 0;
Ecran::Ecran(const uint w, const uint h, const std::string n, const bool pf) { Ecran::Ecran(const uint w, const uint h, const std::string n, const bool pf) {
if (count >= 1) {
throw std::logic_error("Uniquement 1 écran supporté.");
}
++count;
// Création de la fenêtre SFML // Création de la fenêtre SFML
window.create(sf::VideoMode(w, h + bottomTxtPadding), n, window.create(sf::VideoMode(w, h + bottomTxtPadding), n,
sf::Style::Titlebar | sf::Style::Close); sf::Style::Titlebar | sf::Style::Close);
@ -17,7 +24,9 @@ Ecran::Ecran(const uint w, const uint h, const std::string n, const bool pf) {
fps = pf; fps = pf;
} }
Ecran::~Ecran() {} Ecran::~Ecran() {
--count;
}
void Ecran::afficher( void Ecran::afficher(
const std::function<void()> dessin, const std::function<void()> dessin,

View file

@ -20,8 +20,7 @@ std::string PieceSafari::to_string(const enum Categorie cat) const {
return "Lion"; return "Lion";
default: default:
std::cerr << "Catégorie inconnue (PieceSafari).\n"; throw std::logic_error("Catégorie inconnue (PieceSafari).");
exit(EXIT_FAILURE);
} }
} }