- Mouton mange de l'herbe
- Mouton et loups meurs au bout d'un certain temps
This commit is contained in:
Mylloon 2022-04-12 11:12:21 +02:00
parent b6750684a9
commit 3ab72af9de
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
3 changed files with 27 additions and 1 deletions

View file

@ -14,6 +14,10 @@ Animal::Animal(const int univers_ID, const int age_max,
Animal::~Animal(void) { Animal::~Animal(void) {
suppresionVecteurs(false); 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<int> Animal::casesPossible(void) const noexcept { std::vector<int> Animal::casesPossible(void) const noexcept {

View file

@ -36,4 +36,11 @@ void Loup::action(void) {
// S'accouple si besoin // 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
}
} }

View file

@ -30,8 +30,23 @@ void Mouton::action(void) {
m_index = cases_possible[static_cast<uint64_t>(aleatoire(graine))]; m_index = cases_possible[static_cast<uint64_t>(aleatoire(graine))];
// Mange de l'herbe si besoin // 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<Herbe *>(organisme)) { // si c'est de l'herbe
delete organisme;
m_faim = 0;
break;
}
}
}
// S'accouple si besoin // 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
}
} }