Préfix "_m" pour les variables membres d'une classe

This commit is contained in:
Mylloon 2022-04-05 18:26:05 +02:00
parent 33ac77e2e6
commit 54810c7547
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
10 changed files with 64 additions and 64 deletions

View file

@ -13,9 +13,9 @@
class Animal: public Organisme { class Animal: public Organisme {
protected: protected:
const int vitesse, age_max; const int m_vitesse, m_age_max;
int age; int m_age;
// Renvoie une vitesse aléatoire // Renvoie une vitesse aléatoire
virtual int generationVitesse(void) const noexcept = 0; virtual int generationVitesse(void) const noexcept = 0;

View file

@ -4,18 +4,18 @@
#include <map> #include <map>
class Organisme { class Organisme {
inline static int total_ID; // permet d'incrémenter de 1 l'ID de chaque organisme inline static int m_total_ID; // permet d'incrémenter de 1 l'ID de chaque organisme
protected: protected:
const int univers_ID; // stocke l'ID de l'univers où l'organisme est présent const int m_univers_ID; // stocke l'ID de l'univers où l'organisme est présent
/* stocke la table des correspondances, /* stocke la table des correspondances,
* chaque organisme possède un ID unique et est * chaque organisme possède un ID unique et est
* représenté par une lettre, cette association est * représenté par une lettre, cette association est
* réalisé dans cette map */ * réalisé dans cette map */
static inline std::map<int, char> correspondance; static inline std::map<int, char> m_correspondance;
int index; // Location dans l'univers int m_index; // Location dans l'univers
public: public:
const int ID; // ID unique pour chaque organisme const int ID; // ID unique pour chaque organisme

View file

@ -12,17 +12,17 @@
class Univers { class Univers {
friend class Organisme; friend class Organisme;
const int m, n, taille_univers; // dimensions de l'univers const int m_longueur, m_largeur, m_taille_univers; // dimensions de l'univers
int tour; // tour int m_tour; // tour
/* Stocke pour chaque numéro d'univers : /* Stocke pour chaque numéro d'univers :
* - les index libres (non occupés) * - les index libres (non occupés)
* - les organismes présent dans l'univers */ * - les organismes présent dans l'univers */
inline static std::map<int, std::pair<std::vector<int>, std::vector<Organisme*>>> liste_univers; inline static std::map<int, std::pair<std::vector<int>, std::vector<Organisme*>>> m_liste_univers;
inline static std::map<int, std::pair<int, int>> dimensions_univers; // Dimensions de l'univers (largeur, longueur) inline static std::map<int, std::pair<int, int>> m_dimensions_univers; // Dimensions de l'univers (largeur, longueur)
inline static int total_ID; // s'incrémente à chaque création d'univers inline static int m_total_ID; // s'incrémente à chaque création d'univers
public: public:
const int ID; // ID unique pour chaque univers const int ID; // ID unique pour chaque univers

View file

@ -1,14 +1,14 @@
#include "../includes/animal.hpp" #include "../includes/animal.hpp"
Animal::Animal(int universID_p, int age_max_p, int age_p, int vitesse_p): Organisme(universID_p, recuperationIndexLibre(universID_p)), // position aléatoire Animal::Animal(int univers_ID, int age_max, int age, int vitesse): Organisme(univers_ID, recuperationIndexLibre(univers_ID)), // position aléatoire
vitesse(vitesse_p), // par des coordonées m_vitesse(vitesse), // par des coordonées
age_max(age_max_p), // d'un index de m_age_max(age_max), // d'un index de
age(age_p) { } // indexLibres (listeUnivers[ID].first) m_age(age) { } // indexLibres (listeUnivers[ID].first)
Animal::Animal(int universID_p, int index_p, int age_max_p, int age_p, int vitesse_p): Organisme(universID_p, index_p), Animal::Animal(int univers_ID, int index, int age_max, int age, int vitesse): Organisme(univers_ID, index),
vitesse(vitesse_p), m_vitesse(vitesse),
age_max(age_max_p), m_age_max(age_max),
age(age_p) { } m_age(age) { }
Animal::~Animal(void) { } Animal::~Animal(void) { }

View file

@ -1,7 +1,7 @@
#include "../includes/herbe.hpp" #include "../includes/herbe.hpp"
Herbe::Herbe(int universID_p, int index_p): Organisme(universID_p, index_p) { Herbe::Herbe(int univers_ID, int index): Organisme(univers_ID, index) {
correspondance[ID] = ' '; m_correspondance[ID] = ' ';
} }
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(int universID_p): Animal(universID_p, 60, 0, Loup::generationVitesse()) { Loup::Loup(int univers_ID): Animal(univers_ID, 60, 0, Loup::generationVitesse()) {
correspondance[ID] = 'L'; m_correspondance[ID] = 'L';
} }
Loup::Loup(int universID_p, int index_p): Animal(universID_p, index_p, 60, 0, Loup::generationVitesse()) { Loup::Loup(int univers_ID, int index): Animal(univers_ID, index, 60, 0, Loup::generationVitesse()) {
correspondance[ID] = 'L'; m_correspondance[ID] = 'L';
} }
Loup::~Loup(void) { } Loup::~Loup(void) { }

View file

@ -1,11 +1,11 @@
#include "../includes/mouton.hpp" #include "../includes/mouton.hpp"
Mouton::Mouton(int universID_p): Animal(universID_p, 50, 0, Mouton::generationVitesse()) { Mouton::Mouton(int univers_ID): Animal(univers_ID, 50, 0, Mouton::generationVitesse()) {
correspondance[ID] = 'M'; m_correspondance[ID] = 'M';
} }
Mouton::Mouton(int universID_p, int index_p): Animal(universID_p, index_p, 50, 0, Mouton::generationVitesse()) { Mouton::Mouton(int univers_ID, int index): Animal(univers_ID, index, 50, 0, Mouton::generationVitesse()) {
correspondance[ID] = 'M'; m_correspondance[ID] = 'M';
} }
int Mouton::generationVitesse(void) const noexcept { int Mouton::generationVitesse(void) const noexcept {

View file

@ -1,11 +1,11 @@
#include "../includes/univers.hpp" #include "../includes/univers.hpp"
#include "../includes/organisme.hpp" #include "../includes/organisme.hpp"
Organisme::Organisme(int universID_p, int index_p): univers_ID(universID_p), index(index_p), ID(total_ID + 1) { Organisme::Organisme(int universID_p, int index_p): m_univers_ID(universID_p), m_index(index_p), ID(m_total_ID + 1) {
if(Univers::liste_univers[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.");
total_ID = ID; // + 1 aux ID m_total_ID = ID; // + 1 aux ID
Univers::liste_univers[univers_ID].second.push_back(this); Univers::m_liste_univers[m_univers_ID].second.push_back(this);
} }
Organisme::~Organisme(void) { Organisme::~Organisme(void) {
@ -13,20 +13,20 @@ Organisme::~Organisme(void) {
} }
char Organisme::lettre(int id) noexcept { char Organisme::lettre(int id) noexcept {
if(correspondance[id]) if(m_correspondance[id])
return 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(int id) const noexcept {
return std::make_pair(index, std::make_pair(index / Univers::dimensions_univers[id].first, index % Univers::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(int universID_p) {
if(Univers::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::liste_univers[universID_p].first.back(); int res = Univers::m_liste_univers[universID_p].first.back();
Univers::liste_univers[universID_p].first.pop_back(); Univers::m_liste_univers[universID_p].first.pop_back();
return res; return res;
} }

View file

@ -1,7 +1,7 @@
#include "../includes/sel.hpp" #include "../includes/sel.hpp"
Sel::Sel(int universID_p, int index_p): Organisme(universID_p, index_p) { Sel::Sel(int univers_ID, int index): Organisme(univers_ID, index) {
correspondance[ID] = '-'; m_correspondance[ID] = '-';
} }
bool Sel::animal(void) const noexcept { bool Sel::animal(void) const noexcept {

View file

@ -1,44 +1,44 @@
#include "../includes/univers.hpp" #include "../includes/univers.hpp"
#include "../includes/herbe.hpp" #include "../includes/herbe.hpp"
Univers::Univers(int longueur, int largeur): m(longueur), Univers::Univers(int longueur, int largeur): m_longueur(longueur),
n(largeur), m_largeur(largeur),
taille_univers(longueur * largeur), m_taille_univers(longueur * largeur),
tour(0), m_tour(0),
ID(total_ID + 1) { ID(m_total_ID + 1) {
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
for(int i = 0; i < taille_univers; i++) for(int i = 0; i < m_taille_univers; i++)
liste_univers[ID].first.push_back(i); m_liste_univers[ID].first.push_back(i);
// On mélange notre vecteur d'index non occupés // On mélange notre vecteur d'index non occupés
std::random_device nombre_aleatoire; std::random_device nombre_aleatoire;
std::default_random_engine graine(nombre_aleatoire()); std::default_random_engine graine(nombre_aleatoire());
std::shuffle(liste_univers[ID].first.begin(), liste_univers[ID].first.end(), graine); std::shuffle(m_liste_univers[ID].first.begin(), m_liste_univers[ID].first.end(), graine);
// Remplie quelques valeurs du tableau avec de l'herbe // Remplie quelques valeurs du tableau avec de l'herbe
while(liste_univers[ID].first.size() > static_cast<uint64_t>(taille_univers - 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, liste_univers[ID].first.back()); new Herbe(ID, m_liste_univers[ID].first.back());
liste_univers[ID].first.pop_back(); 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
dimensions_univers[ID] = std::make_pair(largeur, longueur); m_dimensions_univers[ID] = std::make_pair(largeur, longueur);
} }
Univers::~Univers(void) { Univers::~Univers(void) {
for(auto it: liste_univers[ID].second) for(auto it: m_liste_univers[ID].second)
delete it; delete it;
} }
void Univers::affichage(void) const noexcept { void Univers::affichage(void) const noexcept {
// On génère le plateau pour l'affichage // On génère le plateau pour l'affichage
int * plateau = new int[taille_univers](); int * plateau = new int[m_taille_univers]();
for(auto it: liste_univers[ID].second) for(auto it: m_liste_univers[ID].second)
plateau[it->position(ID).first] = it->ID; plateau[it->position(ID).first] = it->ID;
for(int i = 0; i < n * 4; i++) for(int i = 0; i < m_largeur * 4; i++)
if(i == 0) if(i == 0)
std::cout << ""; // coin supérieur gauche std::cout << ""; // coin supérieur gauche
else else
@ -46,19 +46,19 @@ void Univers::affichage(void) const noexcept {
std::cout << "" << std::endl; // coin supérieur droit std::cout << "" << std::endl; // coin supérieur droit
std::cout << ""; // premier côté gauche std::cout << ""; // premier côté gauche
for(int i = 0; i < taille_univers; i += n) { for(int i = 0; i < m_taille_univers; i += m_largeur) {
for(int j = 0; j < n; j++) { for(int j = 0; j < m_largeur; j++) {
std::cout << Organisme::lettre(plateau[i + j]); std::cout << Organisme::lettre(plateau[i + j]);
if(j == n - 1) if(j == m_largeur - 1)
std::cout << ""; // côté droit std::cout << ""; // côté droit
else else
std::cout << " "; std::cout << " ";
} }
if(i != taille_univers - n) std::cout << std::endl << ""; // saut de ligne et suite du côté gauche if(i != m_taille_univers - m_largeur) std::cout << std::endl << ""; // saut de ligne et suite du côté gauche
} }
std::cout << std::endl; std::cout << std::endl;
for(int i = 0; i < n * 4; i++) for(int i = 0; i < m_largeur * 4; i++)
if(i == 0) if(i == 0)
std::cout << ""; // coin inférieur gauche std::cout << ""; // coin inférieur gauche
else else
@ -69,7 +69,7 @@ void Univers::affichage(void) const noexcept {
} }
bool Univers::enVie(void) const noexcept { bool Univers::enVie(void) const noexcept {
for(auto organisme: liste_univers[ID].second) // on parcours les organismes de notre univers for(auto organisme: m_liste_univers[ID].second) // on parcours les organismes de notre univers
if(organisme->animal()) // si on a un animal if(organisme->animal()) // si on a un animal
return true; // renvoie true return true; // renvoie true
return false; // sinon renvoie false return false; // sinon renvoie false