This repository has been archived on 2022-05-02. You can view files and clone it, but cannot push or open issues or pull requests.
Ecosysteme/includes/animal.hpp

42 lines
1.3 KiB
C++
Raw Normal View History

#ifndef ECOSYSTEME_ANIMAL_HPP
#define ECOSYSTEME_ANIMAL_HPP 1
#include "organisme.hpp"
/* Un animal possède une vitesse, plus il est rapide,
* plus vite il se déplacera à chaque tour, par exemple :
* dans le cas un chasseur et un chassé s'ont l'un à côté
* de l'autre, si le chasseur se déplace plus vite, il mangera
* le chassé, en revanche, si c'est le chassé qui a une meilleure
* vitesse, alors c'est lui qui se déplacera en premier et il
* fuira */
class Animal: public Organisme {
protected:
2022-04-06 00:53:48 +02:00
const int m_vitesse; // vitesse de l'organisme
2022-04-06 00:53:48 +02:00
const int m_age_max; // age maximale que peut atteindre l'organisme
int m_age; // age actuel de l'organisme
// Renvoie une vitesse aléatoire
virtual int generationVitesse(void) const noexcept = 0;
public:
// ID de l'univers, age max, age actuel, vitesse
2022-04-05 19:00:40 +02:00
Animal(const int, const int, const int, const int);
// ID de l'univers, index dans l'univers, age max, age actuel, vitesse
2022-04-05 19:00:40 +02:00
Animal(const int, const int, const int, const int, const int);
virtual ~Animal(void);
// Renvoie vrai
bool animal(void) const noexcept;
// Animal carnivore ?
virtual bool carnivore(void) const noexcept = 0;
};
#endif