Ajout des accolades là où il n'y en a pas
This commit is contained in:
parent
cafccfb29b
commit
55a5a3aea1
2 changed files with 33 additions and 17 deletions
|
@ -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();
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue