This repository has been archived on 2022-05-02. You can view files and clone it, but cannot push or open issues or pull requests.
Ecosysteme/includes/univers.hpp

49 lines
1.3 KiB
C++
Raw Normal View History

#ifndef _UNIVERS_HPP_
#define _UNIVERS_HPP_ 1
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
#include "animal.hpp"
#include "organisme.hpp"
class Univers {
2022-03-31 16:09:34 +02:00
friend class Organisme;
const int _m, _n, _tailleUnivers; // dimensions de l'univers
int _tour; // tour
int * _plateau; // tableau représentant l'univers
/* Stocke pour chaque numéro d'univers :
* - les index libres (non occupés)
* - les organismes présent dans l'univers */
inline static std::map<int, std::pair<std::vector<int>, std::vector<Organisme*>>> listeUnivers;
inline static std::map<int, std::pair<int, int>> dimensionsUnivers; // Dimensions de l'univers (largeur, longueur)
inline static int __totalID; // s'incrémente à chaque création d'univers
public:
const int ID; // ID unique pour chaque univers
Univers(int, int);
~Univers(void);
// Ajoute des animaux à l'univers
void ajoutAnimaux(std::vector<Animal*>);
/* Modifie un organisme
* Attention, écrase l'organisme précédent */
// void modificationOrganisme(Organisme *, int);
// Affiche l'univers à l'instant présent
void affichage(void) const noexcept;
// Vérifie s'il y a de la vie dans l'univers
bool enVie(void) const noexcept;
};
#endif