Ajouts
- ID unique par organisme - Méthode animal pour connaître si l'organisme est un animal - Méthode correspondance -> lettre - Coordonnées x et y dans l'univers
This commit is contained in:
parent
d3a76dccae
commit
b82bad7720
2 changed files with 27 additions and 11 deletions
|
@ -4,19 +4,29 @@
|
|||
#include <map>
|
||||
|
||||
class Organisme {
|
||||
inline static int __totalID; // permet d'incrémenter de 1 l'ID de chaque animal
|
||||
|
||||
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 x, y; // Location dans l'univers
|
||||
|
||||
public:
|
||||
Organisme(void);
|
||||
const int ID; // ID unique pour chaque animal
|
||||
|
||||
/* Renvoie l'ID de l'organisme
|
||||
* Si `ID < 0` -> non vivant
|
||||
* Si `ID > 0` -> vivant
|
||||
* Si `ID == 0` -> Herbe */
|
||||
virtual short id(void) const noexcept = 0;
|
||||
Organisme(int, int, int);
|
||||
|
||||
static char correspondance(int);
|
||||
// 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;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,13 @@
|
|||
#include "../includes/univers.hpp"
|
||||
#include "../includes/organisme.hpp"
|
||||
|
||||
Organisme::Organisme(void) { }
|
||||
|
||||
char Organisme::correspondance(int id) {
|
||||
return _correspondance[id];
|
||||
Organisme::Organisme(int universID, int x, int y): _universID(universID), x(x), y(y), ID(__totalID + 1) {
|
||||
__totalID = ID; // + 1 aux ID
|
||||
Univers::listeUnivers[_universID].second.push_back(this);
|
||||
}
|
||||
|
||||
char Organisme::lettre(int id) noexcept {
|
||||
if(_correspondance[id])
|
||||
return _correspondance[id];
|
||||
return ' ';
|
||||
}
|
||||
|
|
Reference in a new issue