Dépot de sel à la mort d'un animal
This commit is contained in:
parent
68c22bf5ea
commit
346fe5f2e9
2 changed files with 14 additions and 3 deletions
|
@ -2,6 +2,7 @@
|
|||
#define ECOSYSTEME_ANIMAL_HPP 1
|
||||
|
||||
#include "univers.hpp"
|
||||
#include "sel.hpp"
|
||||
|
||||
/* Un animal possède une vitesse, plus il est rapide,
|
||||
* plus vite il se déplacera à chaque tour, par exemple :
|
||||
|
@ -23,6 +24,9 @@ class Animal: public Organisme {
|
|||
|
||||
bool m_reproduire = true; // est-ce que l'animal peut se reproduire ?
|
||||
|
||||
// vrai si l'animal doit déposé des sédiment au sol à sa mort
|
||||
bool m_deposer_sediment = true;
|
||||
|
||||
// Renvoie une vitesse aléatoire (+ élevé = + rapide)
|
||||
virtual int generationVitesse(void) const noexcept = 0;
|
||||
|
||||
|
|
|
@ -15,9 +15,16 @@ Animal::Animal(const int univers_ID, const int age_max,
|
|||
Animal::~Animal(void) {
|
||||
suppresionVecteurs(false);
|
||||
|
||||
// Vérifie si l'ont doit déposé des sédiments
|
||||
if(m_deposer_sediment) {
|
||||
// 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
|
||||
auto debut = Univers::m_index_libres_univers[m_univers_ID].first.begin();
|
||||
auto fin = Univers::m_index_libres_univers[m_univers_ID].first.end();
|
||||
auto it = std::find(debut, fin, m_index);
|
||||
if(it != fin) { // il n'y a rien, on dépose des sels minéraux sur la case
|
||||
new Sel(m_univers_ID, m_index);
|
||||
} // else -> on ne fais rien
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<int> Animal::casesPossible(void) const noexcept {
|
||||
|
|
Reference in a new issue