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"
class Herbe: public Organisme {
const char _m_lettre = ' ';
public:
// ID de l'univers, index dans l'univers
Herbe(const int, const int);
// ID de l'univers
Herbe(const int);
// Renvoie faux
bool animal(void) const noexcept;
};

View file

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

View file

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

View file

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

View file

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

View file

@ -1,15 +1,15 @@
#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),
m_vitesse(vitesse),
m_age_max(age_max),
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) { }
bool Animal::animal(void) const noexcept {

View file

@ -1,7 +1,11 @@
#include "../includes/herbe.hpp"
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 {

View file

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

View file

@ -1,11 +1,11 @@
#include "../includes/mouton.hpp"
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()) {
m_correspondance[ID] = 'M';
m_correspondance[ID] = _m_lettre;
}
int Mouton::generationVitesse(void) const noexcept {

View file

@ -1,7 +1,7 @@
#include "../includes/univers.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
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);
}
Organisme::Organisme(const int univers_ID): Organisme(univers_ID, recuperationIndexLibre(univers_ID)) {}
Organisme::~Organisme(void) {
// TODO: rendre son ancienne position de nouveau disponible, re-shuffle après ajout ?
}

View file

@ -1,7 +1,11 @@
#include "../includes/sel.hpp"
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 {

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
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());
m_liste_univers[ID].first.pop_back();
new Herbe(ID);
}
// On stocke les dimensions pour chaque univers dans une map