Ajout des accolades là où il n'y en a pas

This commit is contained in:
Mylloon 2022-04-05 19:08:03 +02:00
parent cafccfb29b
commit 55a5a3aea1
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 33 additions and 17 deletions

View file

@ -2,8 +2,9 @@
#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 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
Univers::m_liste_univers[m_univers_ID].second.push_back(this); Univers::m_liste_univers[m_univers_ID].second.push_back(this);
} }
@ -13,8 +14,10 @@ Organisme::~Organisme(void) {
} }
char Organisme::lettre(const 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 ' ';
} }
@ -23,8 +26,9 @@ std::pair<int, std::pair<int, int>> Organisme::position(const int id) const noex
} }
int Organisme::recuperationIndexLibre(const 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();
Univers::m_liste_univers[universID_p].first.pop_back(); Univers::m_liste_univers[universID_p].first.pop_back();

View file

@ -9,8 +9,9 @@ Univers::Univers(const int longueur, const int largeur): m_longueur(longueur),
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
for(int i = 0; i < m_taille_univers; ++i) for(int i = 0; i < m_taille_univers; ++i) {
m_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;
@ -28,49 +29,60 @@ Univers::Univers(const int longueur, const int largeur): m_longueur(longueur),
} }
Univers::~Univers(void) { Univers::~Univers(void) {
for(auto it: m_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[m_taille_univers](); int * plateau = new int[m_taille_univers]();
for(auto it: m_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 < m_largeur * 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 {
std::cout << ""; // haut std::cout << ""; // haut
}
}
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 < m_taille_univers; i += m_largeur) { for(int i = 0; i < m_taille_univers; i += m_largeur) {
for(int j = 0; j < m_largeur; ++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 == m_largeur - 1) if(j == m_largeur - 1) {
std::cout << ""; // côté droit std::cout << ""; // côté droit
else } else {
std::cout << " "; std::cout << " ";
} }
if(i != m_taille_univers - m_largeur) 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 < m_largeur * 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 {
std::cout << ""; // bas std::cout << ""; // bas
}
}
std::cout << "" << std::endl; // coin inférieur droit std::cout << "" << std::endl; // coin inférieur droit
delete[] plateau; delete[] plateau;
} }
bool Univers::enVie(void) const noexcept { bool Univers::enVie(void) const noexcept {
for(auto organisme: m_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
} }