#ifndef ECOSYSTEME_ORGANISME_HPP #define ECOSYSTEME_ORGANISME_HPP 1 #include class Organisme { inline static int m_total_ID; // permet d'incrémenter de 1 l'ID de chaque organisme protected: const int m_univers_ID; // 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 m_correspondance; int m_index; // Location dans l'univers public: const int ID; // ID unique pour chaque organisme // ID de l'Univers, index dans l'univers Organisme(const int, const int); virtual ~Organisme(void); // Renvoie la lettre correspondant à l'ID static char lettre(const 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(const int) const noexcept; // Renvoie un index libre int recuperationIndexLibre(const int); }; #endif