Mylloon
be2d39ee8c
- Requiert désormais un index et non pas des coordonées (x, y) - Méthode position() qui renvoie la position de l'organisme dans un univers donné - Méthode recuperationIDLibre() qui renvoie un index libre dans un univers donné
39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
#ifndef _ANIMAL_HPP_
|
|
#define _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 où 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:
|
|
const int _vitesse, _ageMAX;
|
|
|
|
int _age;
|
|
|
|
// Renvoie une vitesse aléatoire
|
|
virtual int generationVitesse(void) const noexcept = 0;
|
|
|
|
public:
|
|
// ID de l'univers, age max, age actuel, vitesse
|
|
Animal(int, int, int, int);
|
|
|
|
// ID de l'univers, index dans l'univers, age max, age actuel, vitesse
|
|
Animal(int, int, int, int, int);
|
|
|
|
virtual ~Animal(void);
|
|
|
|
// Renvoie vrai
|
|
bool animal(void) const noexcept;
|
|
|
|
// Animal carnivore ?
|
|
virtual bool carnivore(void) const noexcept = 0;
|
|
};
|
|
|
|
#endif
|