Mylloon
cea5831bb0
- Supprime tout les "_" des variables/fonctions/méthodes - Supprime l'ancien code
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
#ifndef _ORGANISME_HPP_
|
|
#define _ORGANISME_HPP_ 1
|
|
|
|
#include <map>
|
|
|
|
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<int, char> 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<int, std::pair<int, int>> position(int) const noexcept;
|
|
|
|
// Renvoie un index libre
|
|
int recuperationIndexLibre(int);
|
|
};
|
|
|
|
#endif
|