diff --git a/includes/animal_template.hpp b/includes/animal_template.hpp index 2ff1565..d7dfdcf 100644 --- a/includes/animal_template.hpp +++ b/includes/animal_template.hpp @@ -102,9 +102,11 @@ void Animal::procreation(void) noexcept { m_partenaire = nullptr; std::vector cases_possible_enfant = casesPossible(); - std::uniform_int_distribution aleatoire_enfant(0, cases_possible_enfant.size() - 1); + if(!cases_possible_enfant.empty()) { // on vérifie qu'il y a de la place dans l'univers pour accueillir l'enfant + std::uniform_int_distribution aleatoire_enfant(0, cases_possible_enfant.size() - 1); - new Espece(m_univers_ID, cases_possible_enfant[static_cast(aleatoire_enfant(graine))]); + new Espece(m_univers_ID, cases_possible_enfant[static_cast(aleatoire_enfant(graine))]); + } // sinon il ne nait pas m_reproduire -= m_attente_reproduction; // doit attendre avant de pouvoir se reproduire encore } else {