diff --git a/includes/animal.hpp b/includes/animal.hpp index bcfa225..22a8f1a 100644 --- a/includes/animal.hpp +++ b/includes/animal.hpp @@ -3,11 +3,31 @@ #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: - Animal(void); + Animal(int, int, int, int); + Animal(int, int, int, int, int, int); virtual ~Animal(void); + // Renvoie vrai + bool animal(void) const noexcept; + // Animal carnivore ? virtual bool carnivore(void) const noexcept = 0; }; diff --git a/src/animal.cpp b/src/animal.cpp index feb6755..a1ea275 100644 --- a/src/animal.cpp +++ b/src/animal.cpp @@ -1,5 +1,17 @@ #include "../includes/animal.hpp" -Animal::Animal(void): Organisme() { } +Animal::Animal(int universID, int ageMax, int age, int vitesse): Organisme(universID, 1, 1), // TODO : remplacé 1, 1 + _vitesse(vitesse), // par des coordonées + _ageMAX(ageMax), // d'un index de + _age(age) { } // indexLibres (listeUnivers[ID].first) + +Animal::Animal(int universID, int x, int y, int ageMax, int age, int vitesse): Organisme(universID, x, y), + _vitesse(vitesse), + _ageMAX(ageMax), + _age(age) { } Animal::~Animal(void) { } + +bool Animal::animal(void) const noexcept { + return true; +}