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>
|
#include <map>
|
||||||
|
|
||||||
class Organisme {
|
class Organisme {
|
||||||
|
inline static int __totalID; // permet d'incrémenter de 1 l'ID de chaque animal
|
||||||
|
|
||||||
protected:
|
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;
|
static inline std::map<int, char> _correspondance;
|
||||||
|
|
||||||
|
int x, y; // Location dans l'univers
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Organisme(void);
|
const int ID; // ID unique pour chaque animal
|
||||||
|
|
||||||
/* Renvoie l'ID de l'organisme
|
Organisme(int, int, int);
|
||||||
* Si `ID < 0` -> non vivant
|
|
||||||
* Si `ID > 0` -> vivant
|
|
||||||
* Si `ID == 0` -> Herbe */
|
|
||||||
virtual short id(void) const noexcept = 0;
|
|
||||||
|
|
||||||
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
|
#endif
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
|
#include "../includes/univers.hpp"
|
||||||
#include "../includes/organisme.hpp"
|
#include "../includes/organisme.hpp"
|
||||||
|
|
||||||
Organisme::Organisme(void) { }
|
Organisme::Organisme(int universID, int x, int y): _universID(universID), x(x), y(y), ID(__totalID + 1) {
|
||||||
|
__totalID = ID; // + 1 aux ID
|
||||||
char Organisme::correspondance(int id) {
|
Univers::listeUnivers[_universID].second.push_back(this);
|
||||||
return _correspondance[id];
|
}
|
||||||
|
|
||||||
|
char Organisme::lettre(int id) noexcept {
|
||||||
|
if(_correspondance[id])
|
||||||
|
return _correspondance[id];
|
||||||
|
return ' ';
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue