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:
|
public:
|
||||||
// ID de l'univers, age max, age actuel, vitesse
|
// 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
|
// 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);
|
virtual ~Animal(void);
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
class Herbe: public Organisme {
|
class Herbe: public Organisme {
|
||||||
public:
|
public:
|
||||||
// ID de l'univers, index dans l'univers
|
// ID de l'univers, index dans l'univers
|
||||||
Herbe(int, int);
|
Herbe(const int, const int);
|
||||||
|
|
||||||
// Renvoie faux
|
// Renvoie faux
|
||||||
bool animal(void) const noexcept;
|
bool animal(void) const noexcept;
|
||||||
|
|
|
@ -8,10 +8,10 @@ class Loup: public Animal {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// ID de l'univers
|
// ID de l'univers
|
||||||
Loup(int);
|
Loup(const int);
|
||||||
|
|
||||||
// ID de l'univers, index dans l'univers
|
// ID de l'univers, index dans l'univers
|
||||||
Loup(int, int);
|
Loup(const int, const int);
|
||||||
|
|
||||||
~Loup(void);
|
~Loup(void);
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,10 @@ class Mouton: public Animal {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// ID de l'univers
|
// ID de l'univers
|
||||||
Mouton(int);
|
Mouton(const int);
|
||||||
|
|
||||||
// ID de l'univers, index dans l'univers
|
// ID de l'univers, index dans l'univers
|
||||||
Mouton(int, int);
|
Mouton(const int, const int);
|
||||||
|
|
||||||
// Renvoie faux
|
// Renvoie faux
|
||||||
bool carnivore(void) const noexcept;
|
bool carnivore(void) const noexcept;
|
||||||
|
|
|
@ -21,21 +21,21 @@ class Organisme {
|
||||||
const int ID; // ID unique pour chaque organisme
|
const int ID; // ID unique pour chaque organisme
|
||||||
|
|
||||||
// ID de l'Univers, index dans l'univers
|
// ID de l'Univers, index dans l'univers
|
||||||
Organisme(int, int);
|
Organisme(const int, const int);
|
||||||
|
|
||||||
virtual ~Organisme(void);
|
virtual ~Organisme(void);
|
||||||
|
|
||||||
// Renvoie la lettre correspondant à l'ID
|
// 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
|
// Renvoie vrai si l'organisme est un animal
|
||||||
virtual bool animal(void) const noexcept = 0;
|
virtual bool animal(void) const noexcept = 0;
|
||||||
|
|
||||||
// Renvoie les positions exact de l'organisme dans l'univers
|
// 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
|
// Renvoie un index libre
|
||||||
int recuperationIndexLibre(int);
|
int recuperationIndexLibre(const int);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
class Sel: public Organisme {
|
class Sel: public Organisme {
|
||||||
public:
|
public:
|
||||||
// ID de l'univers, index dans l'univers
|
// ID de l'univers, index dans l'univers
|
||||||
Sel(int, int);
|
Sel(const int, const int);
|
||||||
|
|
||||||
// Renvoie faux
|
// Renvoie faux
|
||||||
bool animal(void) const noexcept;
|
bool animal(void) const noexcept;
|
||||||
|
|
|
@ -27,16 +27,9 @@ class Univers {
|
||||||
public:
|
public:
|
||||||
const int ID; // ID unique pour chaque univers
|
const int ID; // ID unique pour chaque univers
|
||||||
|
|
||||||
Univers(int, int);
|
Univers(const int, const int);
|
||||||
~Univers(void);
|
~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
|
// Affiche l'univers à l'instant présent
|
||||||
void affichage(void) const noexcept;
|
void affichage(void) const noexcept;
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
#include "../includes/animal.hpp"
|
#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
|
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_vitesse(vitesse), // par des coordonées
|
||||||
m_age_max(age_max), // d'un index de
|
m_age_max(age_max), // d'un index de
|
||||||
m_age(age) { } // indexLibres (listeUnivers[ID].first)
|
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),
|
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_vitesse(vitesse),
|
||||||
m_age_max(age_max),
|
m_age_max(age_max),
|
||||||
m_age(age) { }
|
m_age(age) { }
|
||||||
|
|
||||||
Animal::~Animal(void) { }
|
Animal::~Animal(void) { }
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "../includes/herbe.hpp"
|
#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] = ' ';
|
m_correspondance[ID] = ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#include "../includes/loup.hpp"
|
#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';
|
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';
|
m_correspondance[ID] = 'L';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include "../includes/loup.hpp"
|
#include "../includes/loup.hpp"
|
||||||
|
|
||||||
// Lance la simulation pour un univers
|
// 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);
|
*univers = new Univers(m, n);
|
||||||
|
|
||||||
while(nb_moutons > 0) { // Création des moutons dans l'univers
|
while(nb_moutons > 0) { // Création des moutons dans l'univers
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#include "../includes/mouton.hpp"
|
#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';
|
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';
|
m_correspondance[ID] = 'M';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include "../includes/univers.hpp"
|
#include "../includes/univers.hpp"
|
||||||
#include "../includes/organisme.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
|
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.");
|
throw std::domain_error("Trop d'organismes pour l'univers.");
|
||||||
m_total_ID = ID; // + 1 aux ID
|
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 ?
|
// 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])
|
if(m_correspondance[id])
|
||||||
return m_correspondance[id];
|
return m_correspondance[id];
|
||||||
return ' ';
|
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));
|
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
|
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.");
|
throw std::domain_error("Impossible d'attribuer une position à l'organisme.");
|
||||||
int res = Univers::m_liste_univers[universID_p].first.back();
|
int res = Univers::m_liste_univers[universID_p].first.back();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "../includes/sel.hpp"
|
#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] = '-';
|
m_correspondance[ID] = '-';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
#include "../includes/univers.hpp"
|
#include "../includes/univers.hpp"
|
||||||
#include "../includes/herbe.hpp"
|
#include "../includes/herbe.hpp"
|
||||||
|
|
||||||
Univers::Univers(int longueur, int largeur): m_longueur(longueur),
|
Univers::Univers(const int longueur, const int largeur): m_longueur(longueur),
|
||||||
m_largeur(largeur),
|
m_largeur(largeur),
|
||||||
m_taille_univers(longueur * largeur),
|
m_taille_univers(longueur * largeur),
|
||||||
m_tour(0),
|
m_tour(0),
|
||||||
ID(m_total_ID + 1) {
|
ID(m_total_ID + 1) {
|
||||||
m_total_ID = ID; // + 1 aux ID
|
m_total_ID = ID; // + 1 aux ID
|
||||||
|
|
||||||
// On ajoute tous les index possibles car pour l'instant le plateau est vide
|
// On ajoute tous les index possibles car pour l'instant le plateau est vide
|
||||||
|
|
Reference in a new issue