#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 // Renvoie un index libre int recuperationIndexLibre(int); public: const int ID; // ID unique pour chaque organisme // ID de l'Univers, index dans l'univers Organisme(int, int); // ID de l'Univers (index aléatoire) Organisme(int); virtual ~Organisme(void); // Renvoie la lettre correspondant à l'ID static char lettre(int) noexcept; // Définit le comportement de l'organisme à chaque tour virtual void action(void) = 0; // Renvoie les positions exact de l'organisme dans l'univers std::pair> position(int) const noexcept; }; #endif