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
|
#define ECOSYSTEME_ANIMAL_HPP 1
|
||||||
|
|
||||||
#include "univers.hpp"
|
#include "univers.hpp"
|
||||||
|
#include "sel.hpp"
|
||||||
|
|
||||||
/* Un animal possède une vitesse, plus il est rapide,
|
/* Un animal possède une vitesse, plus il est rapide,
|
||||||
* plus vite il se déplacera à chaque tour, par exemple :
|
* 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 ?
|
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)
|
// Renvoie une vitesse aléatoire (+ élevé = + rapide)
|
||||||
virtual int generationVitesse(void) const noexcept = 0;
|
virtual int generationVitesse(void) const noexcept = 0;
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,16 @@ 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
|
// Vérifie si l'ont doit déposé des sédiments
|
||||||
// -> s'il y a quelque chose = on ne fais rien (sel/herbe)
|
if(m_deposer_sediment) {
|
||||||
// -> s'il n'y a rien = on dépose des sels minéraux sur la case
|
// Vérfie que il n'y a rien 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 {
|
std::vector<int> Animal::casesPossible(void) const noexcept {
|
||||||
|
|
Reference in a new issue