Utilisation de constantes partout
This commit is contained in:
parent
9aac695aa4
commit
1051baf0a3
15 changed files with 37 additions and 44 deletions
|
@ -22,10 +22,10 @@ class Animal: public Organisme {
|
|||
|
||||
public:
|
||||
// ID de l'univers, age max, age actuel, vitesse
|
||||
Animal(int, int, int, int);
|
||||
Animal(const int, const int, const int, const int);
|
||||
|
||||
// ID de l'univers, index dans l'univers, age max, age actuel, vitesse
|
||||
Animal(int, int, int, int, int);
|
||||
Animal(const int, const int, const int, const int, const int);
|
||||
|
||||
virtual ~Animal(void);
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
class Herbe: public Organisme {
|
||||
public:
|
||||
// ID de l'univers, index dans l'univers
|
||||
Herbe(int, int);
|
||||
Herbe(const int, const int);
|
||||
|
||||
// Renvoie faux
|
||||
bool animal(void) const noexcept;
|
||||
|
|
|
@ -8,10 +8,10 @@ class Loup: public Animal {
|
|||
|
||||
public:
|
||||
// ID de l'univers
|
||||
Loup(int);
|
||||
Loup(const int);
|
||||
|
||||
// ID de l'univers, index dans l'univers
|
||||
Loup(int, int);
|
||||
Loup(const int, const int);
|
||||
|
||||
~Loup(void);
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ class Mouton: public Animal {
|
|||
|
||||
public:
|
||||
// ID de l'univers
|
||||
Mouton(int);
|
||||
Mouton(const int);
|
||||
|
||||
// ID de l'univers, index dans l'univers
|
||||
Mouton(int, int);
|
||||
Mouton(const int, const int);
|
||||
|
||||
// Renvoie faux
|
||||
bool carnivore(void) const noexcept;
|
||||
|
|
|
@ -21,21 +21,21 @@ class Organisme {
|
|||
const int ID; // ID unique pour chaque organisme
|
||||
|
||||
// ID de l'Univers, index dans l'univers
|
||||
Organisme(int, int);
|
||||
Organisme(const int, const int);
|
||||
|
||||
virtual ~Organisme(void);
|
||||
|
||||
// Renvoie la lettre correspondant à l'ID
|
||||
static char lettre(int) noexcept;
|
||||
static char lettre(const 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;
|
||||
std::pair<int, std::pair<int, int>> position(const int) const noexcept;
|
||||
|
||||
// Renvoie un index libre
|
||||
int recuperationIndexLibre(int);
|
||||
int recuperationIndexLibre(const int);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
class Sel: public Organisme {
|
||||
public:
|
||||
// ID de l'univers, index dans l'univers
|
||||
Sel(int, int);
|
||||
Sel(const int, const int);
|
||||
|
||||
// Renvoie faux
|
||||
bool animal(void) const noexcept;
|
||||
|
|
|
@ -27,16 +27,9 @@ class Univers {
|
|||
public:
|
||||
const int ID; // ID unique pour chaque univers
|
||||
|
||||
Univers(int, int);
|
||||
Univers(const int, const int);
|
||||
~Univers(void);
|
||||
|
||||
// Ajoute des animaux à l'univers
|
||||
void ajoutAnimaux(std::vector<Animal*>);
|
||||
|
||||
/* Modifie un organisme
|
||||
* Attention, écrase l'organisme précédent */
|
||||
// void modificationOrganisme(Organisme *, int);
|
||||
|
||||
// Affiche l'univers à l'instant présent
|
||||
void affichage(void) const noexcept;
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#include "../includes/animal.hpp"
|
||||
|
||||
Animal::Animal(int univers_ID, int age_max, int age, int vitesse): Organisme(univers_ID, recuperationIndexLibre(univers_ID)), // position aléatoire
|
||||
m_vitesse(vitesse), // par des coordonées
|
||||
m_age_max(age_max), // d'un index de
|
||||
m_age(age) { } // indexLibres (listeUnivers[ID].first)
|
||||
Animal::Animal(const int univers_ID, const int age_max, const int age, const int vitesse): Organisme(univers_ID, recuperationIndexLibre(univers_ID)), // position aléatoire
|
||||
m_vitesse(vitesse), // par des coordonées
|
||||
m_age_max(age_max), // d'un index de
|
||||
m_age(age) { } // indexLibres (listeUnivers[ID].first)
|
||||
|
||||
Animal::Animal(int univers_ID, int index, int age_max, int age, int vitesse): Organisme(univers_ID, index),
|
||||
m_vitesse(vitesse),
|
||||
m_age_max(age_max),
|
||||
m_age(age) { }
|
||||
Animal::Animal(const int univers_ID, const int index, const int age_max, const int age, const int vitesse): Organisme(univers_ID, index),
|
||||
m_vitesse(vitesse),
|
||||
m_age_max(age_max),
|
||||
m_age(age) { }
|
||||
|
||||
Animal::~Animal(void) { }
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "../includes/herbe.hpp"
|
||||
|
||||
Herbe::Herbe(int univers_ID, int index): Organisme(univers_ID, index) {
|
||||
Herbe::Herbe(const int univers_ID, const int index): Organisme(univers_ID, index) {
|
||||
m_correspondance[ID] = ' ';
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#include "../includes/loup.hpp"
|
||||
|
||||
Loup::Loup(int univers_ID): Animal(univers_ID, 60, 0, Loup::generationVitesse()) {
|
||||
Loup::Loup(const int univers_ID): Animal(univers_ID, 60, 0, Loup::generationVitesse()) {
|
||||
m_correspondance[ID] = 'L';
|
||||
}
|
||||
|
||||
Loup::Loup(int univers_ID, int index): Animal(univers_ID, index, 60, 0, Loup::generationVitesse()) {
|
||||
Loup::Loup(const int univers_ID, const int index): Animal(univers_ID, index, 60, 0, Loup::generationVitesse()) {
|
||||
m_correspondance[ID] = 'L';
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include "../includes/loup.hpp"
|
||||
|
||||
// Lance la simulation pour un univers
|
||||
void lancerSimulation(Univers ** univers, int m, int n, int nb_moutons, int nb_loups) {
|
||||
void lancerSimulation(Univers ** univers, const int m, const int n, int nb_moutons, int nb_loups) {
|
||||
*univers = new Univers(m, n);
|
||||
|
||||
while(nb_moutons > 0) { // Création des moutons dans l'univers
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#include "../includes/mouton.hpp"
|
||||
|
||||
Mouton::Mouton(int univers_ID): Animal(univers_ID, 50, 0, Mouton::generationVitesse()) {
|
||||
Mouton::Mouton(const int univers_ID): Animal(univers_ID, 50, 0, Mouton::generationVitesse()) {
|
||||
m_correspondance[ID] = 'M';
|
||||
}
|
||||
|
||||
Mouton::Mouton(int univers_ID, int index): Animal(univers_ID, index, 50, 0, Mouton::generationVitesse()) {
|
||||
Mouton::Mouton(const int univers_ID, const int index): Animal(univers_ID, index, 50, 0, Mouton::generationVitesse()) {
|
||||
m_correspondance[ID] = 'M';
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "../includes/univers.hpp"
|
||||
#include "../includes/organisme.hpp"
|
||||
|
||||
Organisme::Organisme(int universID_p, int index_p): m_univers_ID(universID_p), m_index(index_p), ID(m_total_ID + 1) {
|
||||
Organisme::Organisme(const int universID_p, const int index_p): m_univers_ID(universID_p), m_index(index_p), ID(m_total_ID + 1) {
|
||||
if(Univers::m_liste_univers[m_univers_ID].first.size() == 0) // si il n'y a plus d'index de libres
|
||||
throw std::domain_error("Trop d'organismes pour l'univers.");
|
||||
m_total_ID = ID; // + 1 aux ID
|
||||
|
@ -12,17 +12,17 @@ Organisme::~Organisme(void) {
|
|||
// TODO: rendre son ancienne position de nouveau disponible, re-shuffle après ajout ?
|
||||
}
|
||||
|
||||
char Organisme::lettre(int id) noexcept {
|
||||
char Organisme::lettre(const int id) noexcept {
|
||||
if(m_correspondance[id])
|
||||
return m_correspondance[id];
|
||||
return ' ';
|
||||
}
|
||||
|
||||
std::pair<int, std::pair<int, int>> Organisme::position(int id) const noexcept {
|
||||
std::pair<int, std::pair<int, int>> Organisme::position(const int id) const noexcept {
|
||||
return std::make_pair(m_index, std::make_pair(m_index / Univers::m_dimensions_univers[id].first, m_index % Univers::m_dimensions_univers[id].first));
|
||||
}
|
||||
|
||||
int Organisme::recuperationIndexLibre(int universID_p) {
|
||||
int Organisme::recuperationIndexLibre(const int universID_p) {
|
||||
if(Univers::m_liste_univers[universID_p].first.size() == 0) // normalement c'est impossible que cette expection apparaisse
|
||||
throw std::domain_error("Impossible d'attribuer une position à l'organisme.");
|
||||
int res = Univers::m_liste_univers[universID_p].first.back();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "../includes/sel.hpp"
|
||||
|
||||
Sel::Sel(int univers_ID, int index): Organisme(univers_ID, index) {
|
||||
Sel::Sel(const int univers_ID, const int index): Organisme(univers_ID, index) {
|
||||
m_correspondance[ID] = '-';
|
||||
}
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#include "../includes/univers.hpp"
|
||||
#include "../includes/herbe.hpp"
|
||||
|
||||
Univers::Univers(int longueur, int largeur): m_longueur(longueur),
|
||||
m_largeur(largeur),
|
||||
m_taille_univers(longueur * largeur),
|
||||
m_tour(0),
|
||||
ID(m_total_ID + 1) {
|
||||
Univers::Univers(const int longueur, const int largeur): m_longueur(longueur),
|
||||
m_largeur(largeur),
|
||||
m_taille_univers(longueur * largeur),
|
||||
m_tour(0),
|
||||
ID(m_total_ID + 1) {
|
||||
m_total_ID = ID; // + 1 aux ID
|
||||
|
||||
// On ajoute tous les index possibles car pour l'instant le plateau est vide
|
||||
|
|
Reference in a new issue