diff --git a/src/animal.cpp b/src/animal.cpp index 093f591..6803e13 100644 --- a/src/animal.cpp +++ b/src/animal.cpp @@ -14,6 +14,10 @@ Animal::Animal(const int univers_ID, const int age_max, Animal::~Animal(void) { suppresionVecteurs(false); + + // Vérfie que il n'y a rien sur la case + // -> s'il y a quelque chose = on ne fais rien (sel/herbe) + // -> s'il n'y a rien = on dépose des sels minéraux sur la case } std::vector Animal::casesPossible(void) const noexcept { diff --git a/src/loup.cpp b/src/loup.cpp index fd3b79d..2a1b2c0 100644 --- a/src/loup.cpp +++ b/src/loup.cpp @@ -36,4 +36,11 @@ void Loup::action(void) { // S'accouple si besoin /* ... */ + + if(m_age == m_age_max) { // meurt si trop vieux + delete this; + } else { + ++m_age; // augmente l'âge + ++m_faim; // augmente la faim + } } diff --git a/src/mouton.cpp b/src/mouton.cpp index a9b7057..afded54 100644 --- a/src/mouton.cpp +++ b/src/mouton.cpp @@ -30,8 +30,23 @@ void Mouton::action(void) { m_index = cases_possible[static_cast(aleatoire(graine))]; // Mange de l'herbe si besoin - /* ... */ + for(auto organisme: Univers::m_organismes_univers[m_univers_ID]) { // regarde tout les organismes + if(organisme->position().first == m_index) { // si sur ma position + if(dynamic_cast(organisme)) { // si c'est de l'herbe + delete organisme; + m_faim = 0; + break; + } + } + } // S'accouple si besoin /* ... */ + + if(m_age == m_age_max) { // meurt si trop vieux + delete this; + } else { + ++m_age; // augmente l'âge + ++m_faim; // augmente la faim + } }