#ifndef _ORGANISME_HPP_ #define _ORGANISME_HPP_ 1 #include #include "../includes/univers.hpp" class Organisme { inline static int __totalID; // permet d'incrémenter de 1 l'ID de chaque organisme protected: const int _universID; // stocke l'ID de l'univers où l'organisme est présent /* stocke la table des correspondances, * chaque organisme possède un ID unique et est * représenté par une lettre, cette association est * réalisé dans cette map */ static inline std::map _correspondance; int _index; // Location dans l'univers public: const int ID; // ID unique pour chaque organisme // ID de l'Univers, index dans l'univers Organisme(int, int); virtual ~Organisme(void); // Renvoie la lettre correspondant à l'ID static char lettre(int) noexcept; // Renvoie vrai si l'organisme est un animal virtual bool animal(void) const noexcept = 0; // Renvoie les positions exact de l'organisme dans l'univers std::pair> position(int) const noexcept; // Renvoie un index libre int recuperationIndexLibre(int); }; #endif