This repository has been archived on 2022-05-02. You can view files and clone it, but cannot push or open issues or pull requests.
Ecosysteme/univers.hpp

81 lines
1.4 KiB
C++
Raw Normal View History

#ifndef _UNIVERS_HPP_
#define _UNIVERS_HPP_ 1
#include <iostream>
#include <vector>
class Organisme;
class Univers {
2022-03-31 16:09:34 +02:00
friend class Organisme;
int _m, _n, _tour, _nbOrganisme, _nbOrganismesEnVie;
2022-03-31 16:09:34 +02:00
int * _plateau;
public:
Univers(int, int);
~Univers(void);
void ajoutOrganismes(std::vector<Organisme*>);
bool enVie(void);
};
2022-03-31 16:09:34 +02:00
class Organisme {
public:
Organisme(void);
// Renvoie l'ID de l'organisme
virtual int id(void) = 0;
2022-03-31 16:09:34 +02:00
};
class Animal: public Organisme {
public:
Animal(void);
// Animal carnivore ?
virtual bool carnivore(void) = 0;
2022-03-31 16:09:34 +02:00
};
class Herbe: public Organisme {
public:
Herbe(void);
// Représenté par "0" dans l'univers
int id(void);
2022-03-31 16:09:34 +02:00
};
// Représenté par "1" dans l'univers
2022-03-31 16:09:34 +02:00
class Sel: public Organisme {
public:
Sel(void);
// Représenté par "1" dans l'univers
int id(void);
};
2022-03-31 16:09:34 +02:00
// Représenté par "2" dans l'univers
2022-03-31 16:09:34 +02:00
class Mouton: public Animal {
public:
Mouton(void);
bool carnivore(void);
// Représenté par "2" dans l'univers
int id(void);
2022-03-31 16:09:34 +02:00
};
// Représenté par "3" dans l'univers
class Loup: public Animal {
2022-03-31 16:09:34 +02:00
public:
Loup(void);
bool carnivore(void);
// Représenté par "3" dans l'univers
int id(void);
2022-03-31 16:09:34 +02:00
};
#endif