Mylloon
feb473514d
- Univers garde le nombre d'organismes, et ceux en vie - Chaque organisme a un ID - Plateau par défaut remplie d'herbe - Ajoute les organismes dans l'univers via un vecteur, gestion du nombre d'organismes max
80 lines
1.4 KiB
C++
80 lines
1.4 KiB
C++
#ifndef _UNIVERS_HPP_
|
|
#define _UNIVERS_HPP_ 1
|
|
|
|
#include <iostream>
|
|
#include <vector>
|
|
|
|
class Organisme;
|
|
|
|
class Univers {
|
|
friend class Organisme;
|
|
|
|
int _m, _n, _tour, _nbOrganisme, _nbOrganismesEnVie;
|
|
int * _plateau;
|
|
|
|
public:
|
|
Univers(int, int);
|
|
~Univers(void);
|
|
|
|
void ajoutOrganismes(std::vector<Organisme*>);
|
|
|
|
bool enVie(void);
|
|
};
|
|
|
|
class Organisme {
|
|
public:
|
|
Organisme(void);
|
|
|
|
// Renvoie l'ID de l'organisme
|
|
virtual int id(void) = 0;
|
|
};
|
|
|
|
class Animal: public Organisme {
|
|
public:
|
|
Animal(void);
|
|
|
|
// Animal carnivore ?
|
|
virtual bool carnivore(void) = 0;
|
|
};
|
|
|
|
class Herbe: public Organisme {
|
|
public:
|
|
Herbe(void);
|
|
|
|
// Représenté par "0" dans l'univers
|
|
int id(void);
|
|
};
|
|
|
|
// Représenté par "1" dans l'univers
|
|
class Sel: public Organisme {
|
|
public:
|
|
Sel(void);
|
|
|
|
// Représenté par "1" dans l'univers
|
|
int id(void);
|
|
};
|
|
|
|
// Représenté par "2" dans l'univers
|
|
class Mouton: public Animal {
|
|
public:
|
|
Mouton(void);
|
|
|
|
bool carnivore(void);
|
|
|
|
// Représenté par "2" dans l'univers
|
|
int id(void);
|
|
};
|
|
|
|
|
|
// Représenté par "3" dans l'univers
|
|
class Loup: public Animal {
|
|
public:
|
|
Loup(void);
|
|
|
|
bool carnivore(void);
|
|
|
|
// Représenté par "3" dans l'univers
|
|
int id(void);
|
|
};
|
|
|
|
#endif
|