Darwinian Smoke
1
Une simulation de fumées vivantes disposant de comportements variables et d'un transmission héréditaire de ceux-ci, qui sont soumis à la sélection naturelle dans un environnement hostile.
|
La classe Jeu s'occupe de contrôler la simulation. More...
#include <Jeu.h>
Public Member Functions | |
Jeu () | |
Constructeur par défaut. More... | |
Jeu (const Case &min, const Case &max) | |
Constructeur avec limites. More... | |
Jeu (Map &m) | |
Constructeur avec limites. More... | |
~Jeu () | |
Détruit toutes les fumées du jeu aussi ! More... | |
bool | add_entite (Entite *e) |
Ajoute une Entite dans le Jeu, si elle n'y est pas déjà More... | |
bool | add_vivante (Vivante *v) |
Ajoute une entité Vivante dans le Jeu, si elle n'y est pas déjà More... | |
bool | rm_entite (Entite *e) |
Retire une Entite du Jeu, si elle est effectivement là More... | |
bool | rm_vivante (Vivante *v) |
Retire une entité Vivante du Jeu, si elle est effectivement là More... | |
bool | sim (std::string stats="../stats/stats.csv") |
Lance une simulation retourne vrai si restart. More... | |
virtual void | begin_stats (std::string filename) |
Crée un fichier de statistiques et l'ouvre. More... | |
virtual void | write_stats () |
Ecrit les tatistiques de l'instant. More... | |
virtual void | end_stats () |
Ferme le fichier des statistiques. More... | |
virtual void | show (Screen s) const |
Affiche le Jeu sur un Screen. More... | |
Protected Member Functions | |
bool | add_on_map (const std::list< Case > &liste, int id) |
Tente d'ajouter une liste de Case avec l'id sur la carte. More... | |
bool | rm_of_map (const std::list< Case > &liste) |
Tente de vider une liste de Case de la carte. More... | |
bool | add_on_map (Entite *e) |
Tente d'ajouter une entité sur la carte. More... | |
bool | rm_of_map (Entite *e) |
Tente de retirer une entité de la carte. More... | |
virtual void | step_entite (Entite *e) |
Fais avancer une entité d'un pas. More... | |
virtual void | step_vivante (Vivante *v) |
Fais avancer une vivante d'un pas. More... | |
void | step_all_entites () |
Avance toutes les entites d'un pas. More... | |
void | step_all_vivantes () |
Avance toutes les vivantes d'un pas. More... | |
void | step () |
Avance tout d'un pas. More... | |
virtual bool | allow_reproduction () |
Autoriser la reproduction, par défaut il faut qu'il y ait moins de 10 Fumées Vivantes. More... | |
Protected Attributes | |
size_t | cpt |
Compteur de steps. More... | |
Map | map |
La carte des Entite présentes, représentées sous forme d'entiers. More... | |
std::list< Vivante * > | vivantes |
Ensemble des entités Vivante du jeu. More... | |
std::list< Entite * > | env |
Ensemble des entités non vivantes du jeu, l'environnement. More... | |
std::map< int, Entite * > | corr |
La correspondance entre chaque Entite présente dans le Jeu son identifiant entier. More... | |
std::ofstream | stats |
Flux de fichier dans lequel le jeu écrit des statistiques à chaque step. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Jeu &j) |
Affiche le jeu dans le terminal. More... | |
La classe Jeu s'occupe de contrôler la simulation.
La classe Jeu s'occupe de contrôler la simulation. Elle contient un ensemble d'Entite et la Map, et s'occupe par la fonction sim() de lancer la simulation. Le Jeu gère alors son fonctionnement et son affichage sur un Screen.
|
inline |
Constructeur par défaut.
|
inline |
Constructeur avec limites.
Jeu::~Jeu | ( | ) |
Détruit toutes les fumées du jeu aussi !
|
protected |
Tente d'ajouter une liste de Case avec l'id sur la carte.
|
protected |
Tente d'ajouter une entité sur la carte.
bool Jeu::add_vivante | ( | Vivante * | v | ) |
|
inlineprotectedvirtual |
Autoriser la reproduction, par défaut il faut qu'il y ait moins de 10 Fumées Vivantes.
Reimplemented in ProjectileGame.
|
virtual |
Crée un fichier de statistiques et l'ouvre.
Reimplemented in StandartGame.
|
virtual |
Ferme le fichier des statistiques.
bool Jeu::rm_entite | ( | Entite * | e | ) |
|
protected |
Tente de vider une liste de Case de la carte.
|
protected |
Tente de retirer une entité de la carte.
bool Jeu::rm_vivante | ( | Vivante * | v | ) |
bool Jeu::sim | ( | std::string | stats = "../stats/stats.csv" | ) |
Lance une simulation retourne vrai si restart.
stats | "chemin vers le fichier de statistiques à remplir, par défaut ../stats/stats.csv" |
|
protected |
Avance tout d'un pas.
|
protected |
Avance toutes les entites d'un pas.
|
protected |
Avance toutes les vivantes d'un pas.
|
protectedvirtual |
Fais avancer une entité d'un pas.
|
protectedvirtual |
Fais avancer une vivante d'un pas.
|
virtual |
Ecrit les tatistiques de l'instant.
|
friend |
Affiche le jeu dans le terminal.
|
protected |
|
protected |
Compteur de steps.
|
protected |
Ensemble des entités non vivantes du jeu, l'environnement.
|
protected |
Flux de fichier dans lequel le jeu écrit des statistiques à chaque step.