Mélange du vecteur d'index non occupés déplacé dans une méthode tierce
This commit is contained in:
parent
9a7a30fc2e
commit
9de70611c2
2 changed files with 13 additions and 4 deletions
|
@ -14,7 +14,7 @@ class Univers {
|
|||
friend class Organisme;
|
||||
|
||||
const int m_longueur, m_largeur, m_taille_univers; // dimensions de l'univers
|
||||
int m_tour; // tour
|
||||
int m_tour; // âge de l'univers
|
||||
|
||||
/* Stocke pour chaque numéro d'univers :
|
||||
* - les index libres (non occupés)
|
||||
|
@ -25,10 +25,15 @@ class Univers {
|
|||
|
||||
inline static int m_total_ID; // s'incrémente à chaque création d'univers
|
||||
|
||||
// Mélange le contenu d'un vecteur
|
||||
void melange(std::vector<int> * vecteur);
|
||||
|
||||
public:
|
||||
const int ID; // ID unique pour chaque univers
|
||||
|
||||
// longueur, largeur
|
||||
Univers(const int, const int);
|
||||
|
||||
~Univers(void);
|
||||
|
||||
// Affiche l'univers à l'instant présent
|
||||
|
|
|
@ -13,9 +13,7 @@ Univers::Univers(const int longueur, const int largeur): m_longueur(longueur),
|
|||
}
|
||||
|
||||
// On mélange notre vecteur d'index non occupés
|
||||
std::random_device nombre_aleatoire;
|
||||
std::default_random_engine graine(nombre_aleatoire());
|
||||
std::shuffle(m_liste_univers[ID].first.begin(), m_liste_univers[ID].first.end(), graine);
|
||||
melange(&m_liste_univers[ID].first);
|
||||
|
||||
// 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++)
|
||||
|
@ -32,6 +30,12 @@ Univers::~Univers(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void Univers::melange(std::vector<int> * vecteur) {
|
||||
std::random_device nombre_aleatoire;
|
||||
std::default_random_engine graine(nombre_aleatoire());
|
||||
std::shuffle(vecteur->begin(), vecteur->end(), graine);
|
||||
}
|
||||
|
||||
void Univers::affichage(void) const noexcept {
|
||||
// On génère le plateau pour l'affichage
|
||||
int * plateau = new int[m_taille_univers]();
|
||||
|
|
Reference in a new issue