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 int count;
public:
// Fenêtre
static sf::RenderWindow window;

View file

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

View file

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

View file

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

View file

@ -9,7 +9,14 @@ std::string Ecran::message = "";
bool Ecran::fps = false;
int Ecran::count = 0;
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
window.create(sf::VideoMode(w, h + bottomTxtPadding), n,
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;
}
Ecran::~Ecran() {}
Ecran::~Ecran() {
--count;
}
void Ecran::afficher(
const std::function<void()> dessin,

View file

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