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.
|
Une Entite est composée d'une liste de Case et interragira lors de la simulation. More...
#include <Entite.h>
Public Member Functions | |
Entite (std::string filename) | |
Initialise l'Entite avec un fichier (* si case pleine) avec xmin,ymin = 0,0. More... | |
Entite (std::string filename, int x_min, int y_min) | |
Initialise l'Entite avec un fichier (* si case pleine) et les valeurs xmin et ymin. More... | |
Entite () | |
Entite vide. More... | |
Entite (std::list< Case > l, Map &m) | |
Initialise l'Entite en ajoutant la liste de Case à une Map. More... | |
virtual | ~Entite () |
Pour bien vérifier leur destruction. More... | |
size_t | nb_cases () const |
Nombre de cases de l'Entite. More... | |
int | id () |
Renvoie l'id de l'Entite. More... | |
virtual bool | active () |
Insique si l'Entite est toujours active, par défaut si elle contient encore des cases. More... | |
const std::list< Case > & | get_cases () const |
Renvoie toutes les cases détenues par l'entite. More... | |
virtual std::string | type () const |
Renvoie le type de l'Entite, "ENTITE". More... | |
virtual bool | hostile () const |
Renvoie si l'entite est hostile, false par défaut. More... | |
virtual void | remove_case (const std::list< Case > &l, Map &ext) |
A UTILISER : Suprime une Case de l'Entite et d'une Map extérieure. More... | |
virtual void | add_case (const std::list< Case > &c, Map &ext) |
A UTILISER : Ajoute une liste de Case à l'entite et une Map extérieure. More... | |
virtual void | clear_it (Map &ext) |
A UTILISER : Enlève toutes les cases de l'Entite, sur une carte extéreure. More... | |
virtual void | write_stats (std::ofstream &os) const |
Ecrit les statistiques instantanées dans un flux de fichier, par défaut id,time. More... | |
virtual std::string | to_string () const |
Convertit la map en un string comme la disposition de ses cases marqués par une *. More... | |
virtual void | show (Screen s) |
Affiche l'entite sur un screen, en une variation de noir dépendante de son _id. More... | |
virtual void | step (Map &m, const std::map< int, Entite * > &corr)=0 |
Protected Member Functions | |
virtual void | add_case (int x, int y) |
Ajoute une Case à l'Entite avec ses coordonnées. More... | |
virtual void | add_case (const Case &c) |
Ajoute une Case à l'Entite. More... | |
virtual void | add_case (const std::list< Case > &c) |
Ajoute une Case à l'Entite avec ses coordonnées. More... | |
virtual void | remove_case (const Case &c) |
Suprime une liste de Case de l'Entite. More... | |
virtual void | remove_case (const std::list< Case > &l) |
Suprime une Case de l'Entite. More... | |
virtual void | set_map () |
Met à jour sa carte 2D à l'aide des sa liste de cases et de ses bordures. More... | |
Protected Attributes | |
int | _id |
identifiant unique de l'entité More... | |
int | time |
Nombre de steps qui ont été exécutés. More... | |
std::list< Case > | cases |
Liste des Case de l'entité More... | |
Map | map |
La Map correspondante à la liste de ses cases. More... | |
Static Protected Attributes | |
static int | cpt = 1 |
Le compteur d'entités. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Entite &e) |
Affiche un sur un flux, de même manière que to_string() More... | |
std::list< int > | indices_of_type (std::string type, const std::map< int, Entite * > corr) |
Retourne les indices des entites de type type dans la map corr. More... | |
std::list< int > | indices_hostiles (const std::map< int, Entite * > corr) |
Retourne les indices des entites hostiles dans la map corr. More... | |
std::list< Entite * > | entites_of_type (std::string type, const std::map< int, Entite * > corr) |
Retourne les entites de type type dans la map corr. More... | |
std::list< Entite * > | entites_hostiles (const std::map< int, Entite * > corr) |
Retourne les entites hostiles dans la map corr. More... | |
float | dist_min (const Case &c, const Entite *e) |
Distance avec la case de e la plus proche de c . More... | |
float | dist_min (const Entite *a, const Entite *b) |
Distance entre les deux cases les plus proches de a et de b . More... | |
float | dist_min (const Case &c, const std::list< Entite * > &l) |
float | dist_min (const Entite *e, const std::list< Entite * > &l) |
float | dist_min (const Case &c, std::string type, const std::map< int, Entite * > corr) |
Distance minimale de la case avec une Entite de type type. More... | |
float | dist_min (const Entite *c, std::string type, const std::map< int, Entite * > corr) |
Distance minimale de l'entite avec une Entite de type type. More... | |
bool | touch (const Entite *a, const Entite *b) |
Indique si une entite en trouche une autre. More... | |
bool | touch (const Entite *a, const std::list< Entite * > &l) |
Indique si une entite en trouche une autre dans la liste passée. More... | |
Une Entite est composée d'une liste de Case et interragira lors de la simulation.
Une entité est composée d'une liste de Case qui variera au cours de la simulation. Chaque tour, la fonction step définit son comportement.
|
inline |
Initialise l'Entite avec un fichier (* si case pleine) avec xmin,ymin = 0,0.
Entite::Entite | ( | std::string | filename, |
int | x_min, | ||
int | y_min | ||
) |
|
inline |
Entite vide.
|
inlinevirtual |
Pour bien vérifier leur destruction.
|
inlinevirtual |
Insique si l'Entite est toujours active, par défaut si elle contient encore des cases.
Reimplemented in Esquive_vie.
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
A UTILISER : Enlève toutes les cases de l'Entite, sur une carte extéreure.
|
inline |
Renvoie toutes les cases détenues par l'entite.
|
inlinevirtual |
Renvoie si l'entite est hostile, false par défaut.
Reimplemented in Fumee_test, Projectile, and Mur.
|
inline |
Renvoie l'id de l'Entite.
|
inline |
Nombre de cases de l'Entite.
|
protectedvirtual |
|
protectedvirtual |
Met à jour sa carte 2D à l'aide des sa liste de cases et de ses bordures.
|
inlinevirtual |
Affiche l'entite sur un screen, en une variation de noir dépendante de son _id.
Reimplemented in Fumee_esquive, Projectile, Fumee_test, Mystherbe, Esquive_vie, and Mur.
Fait avancer la fumée d'un pas
m | Map sur laquelle interragit l'entite. |
corr | Dictionnaire des entiers de la map et des Entite correspondantes |
Implemented in Projectile, Fumee_test, Fumee_esquive, Mystherbe, Esquive_vie, and Mur.
|
virtual |
Convertit la map en un string comme la disposition de ses cases marqués par une *.
|
inlinevirtual |
Renvoie le type de l'Entite, "ENTITE".
Reimplemented in Projectile, Fumee_esquive, Mystherbe, and Vivante.
|
inlinevirtual |
Ecrit les statistiques instantanées dans un flux de fichier, par défaut id,time.
Reimplemented in Fumee_esquive, and Mystherbe.
Distance avec la case de e
la plus proche de c
.
– Complexité e.cases
Distance entre les deux cases les plus proches de a
et de b
.
– Complexité a.cases*b.cases
– Complexité : nombre de cases de la liste
l
: tester si c'est la distance minimale avec la case– Complexité e.cases*(nombre de cases de la liste)
Distance minimale de la case avec une Entite de type type.
Distance minimale de l'entite avec une Entite de type type.
Retourne les entites hostiles dans la map corr.
|
friend |
Retourne les entites de type type
dans la map corr.
|
friend |
Retourne les indices des entites hostiles dans la map corr.
|
friend |
Retourne les indices des entites de type type
dans la map corr.
|
friend |
Affiche un sur un flux, de même manière que to_string()
Indique si une entite en trouche une autre.
Indique si une entite en trouche une autre dans la liste passée.
|
protected |
identifiant unique de l'entité
|
staticprotected |
Le compteur d'entités.
|
protected |
Nombre de steps qui ont été exécutés.