Modifications

- Renommage de certaines variables
- Meilleur implantation de l'index aléatoire
- Variable pour la lettre (table de correspondance)
This commit is contained in:
Mylloon 2022-04-06 00:44:43 +02:00
parent fea025fa24
commit 184706bef8
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
12 changed files with 40 additions and 14 deletions

View file

@ -4,10 +4,15 @@
#include "organisme.hpp" #include "organisme.hpp"
class Herbe: public Organisme { class Herbe: public Organisme {
const char _m_lettre = ' ';
public: public:
// ID de l'univers, index dans l'univers // ID de l'univers, index dans l'univers
Herbe(const int, const int); Herbe(const int, const int);
// ID de l'univers
Herbe(const int);
// Renvoie faux // Renvoie faux
bool animal(void) const noexcept; bool animal(void) const noexcept;
}; };

View file

@ -4,6 +4,8 @@
#include "animal.hpp" #include "animal.hpp"
class Loup: public Animal { class Loup: public Animal {
const char _m_lettre = 'L';
int generationVitesse(void) const noexcept; int generationVitesse(void) const noexcept;
public: public:

View file

@ -4,6 +4,8 @@
#include "animal.hpp" #include "animal.hpp"
class Mouton: public Animal { class Mouton: public Animal {
const char _m_lettre = 'M';
int generationVitesse(void) const noexcept; int generationVitesse(void) const noexcept;
public: public:

View file

@ -23,6 +23,9 @@ class Organisme {
// ID de l'Univers, index dans l'univers // ID de l'Univers, index dans l'univers
Organisme(const int, const int); Organisme(const int, const int);
// ID de l'Univers (index aléatoire)
Organisme(const int);
virtual ~Organisme(void); virtual ~Organisme(void);
// Renvoie la lettre correspondant à l'ID // Renvoie la lettre correspondant à l'ID

View file

@ -4,10 +4,15 @@
#include "organisme.hpp" #include "organisme.hpp"
class Sel: public Organisme { class Sel: public Organisme {
const char _m_lettre = '-';
public: public:
// ID de l'univers, index dans l'univers // ID de l'univers, index dans l'univers
Sel(const int, const int); Sel(const int, const int);
// ID de l'univers
Sel(const int);
// Renvoie faux // Renvoie faux
bool animal(void) const noexcept; bool animal(void) const noexcept;
}; };

View file

@ -1,15 +1,15 @@
#include "../includes/animal.hpp" #include "../includes/animal.hpp"
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(const int univers_ID, const int index, const int age_max, const int age, const 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(const int univers_ID, const int age_max, const int age, const int vitesse): Organisme(univers_ID),
m_vitesse(vitesse),
m_age_max(age_max),
m_age(age) { }
Animal::~Animal(void) { } Animal::~Animal(void) { }
bool Animal::animal(void) const noexcept { bool Animal::animal(void) const noexcept {

View file

@ -1,7 +1,11 @@
#include "../includes/herbe.hpp" #include "../includes/herbe.hpp"
Herbe::Herbe(const int univers_ID, const 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] = _m_lettre;
}
Herbe::Herbe(const int univers_ID): Organisme(univers_ID) {
m_correspondance[ID] = _m_lettre;
} }
bool Herbe::animal(void) const noexcept { bool Herbe::animal(void) const noexcept {

View file

@ -1,11 +1,11 @@
#include "../includes/loup.hpp" #include "../includes/loup.hpp"
Loup::Loup(const 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] = _m_lettre;
} }
Loup::Loup(const int univers_ID, const 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] = _m_lettre;
} }
Loup::~Loup(void) { } Loup::~Loup(void) { }

View file

@ -1,11 +1,11 @@
#include "../includes/mouton.hpp" #include "../includes/mouton.hpp"
Mouton::Mouton(const 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_lettre;
} }
Mouton::Mouton(const int univers_ID, const 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_lettre;
} }
int Mouton::generationVitesse(void) const noexcept { int Mouton::generationVitesse(void) const noexcept {

View file

@ -1,7 +1,7 @@
#include "../includes/univers.hpp" #include "../includes/univers.hpp"
#include "../includes/organisme.hpp" #include "../includes/organisme.hpp"
Organisme::Organisme(const int universID_p, const int index_p): m_univers_ID(universID_p), m_index(index_p), ID(m_total_ID + 1) { Organisme::Organisme(const int univers_ID, const int index): m_univers_ID(univers_ID), m_index(index), 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.");
} }
@ -9,6 +9,8 @@ Organisme::Organisme(const int universID_p, const int index_p): m_univers_ID(uni
Univers::m_liste_univers[m_univers_ID].second.push_back(this); Univers::m_liste_univers[m_univers_ID].second.push_back(this);
} }
Organisme::Organisme(const int univers_ID): Organisme(univers_ID, recuperationIndexLibre(univers_ID)) {}
Organisme::~Organisme(void) { 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 ?
} }

View file

@ -1,7 +1,11 @@
#include "../includes/sel.hpp" #include "../includes/sel.hpp"
Sel::Sel(const int univers_ID, const 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] = _m_lettre;
}
Sel::Sel(const int univers_ID): Organisme(univers_ID) {
m_correspondance[ID] = _m_lettre;
} }
bool Sel::animal(void) const noexcept { bool Sel::animal(void) const noexcept {

View file

@ -19,8 +19,7 @@ Univers::Univers(const int longueur, const int largeur): m_longueur(longueur),
// Remplie quelques valeurs du tableau avec de l'herbe // Remplie quelques valeurs du tableau avec de l'herbe
while(m_liste_univers[ID].first.size() > static_cast<uint64_t>(m_taille_univers - m_taille_univers / 2)) { // cast static grâce à "-Wold-style-cast" et "-Wsign-conversion" (syntaxe C++) while(m_liste_univers[ID].first.size() > static_cast<uint64_t>(m_taille_univers - m_taille_univers / 2)) { // cast static grâce à "-Wold-style-cast" et "-Wsign-conversion" (syntaxe C++)
new Herbe(ID, m_liste_univers[ID].first.back()); new Herbe(ID);
m_liste_univers[ID].first.pop_back();
} }
// On stocke les dimensions pour chaque univers dans une map // On stocke les dimensions pour chaque univers dans une map