Utilisation de constantes partout

This commit is contained in:
Mylloon 2022-04-05 19:00:40 +02:00
parent 9aac695aa4
commit 1051baf0a3
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
15 changed files with 37 additions and 44 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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);

View file

@ -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;

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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) { }

View file

@ -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] = ' ';
}

View file

@ -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';
}

View file

@ -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

View file

@ -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';
}

View file

@ -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();

View file

@ -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] = '-';
}

View file

@ -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