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 Map contient un vecteur d'entiers en 2 dimensions et dispose de bcp de fonctions utiles. More...
#include <Map.h>
Public Member Functions | |
Map (const std::list< Case > &liste_cases) | |
Map () | |
Par défaut, carte de taille 1. More... | |
Map (const Case &min, const Case &max) | |
Map avec les bords min et maxy. More... | |
bool | inside (int x, int y) const |
Indique si les coordonnées sont dans la map. More... | |
bool | inside (const Case &c) const |
Indique si la case est dans la map. More... | |
int | get (int x, int y) const |
Retourne l'entier correspondant à la position. More... | |
int | get (const Case &c) const |
Retourne l'entier correspondant à la position. More... | |
int | operator() (int x, int y) const |
Renvoie la valeur de la position x,y. More... | |
int | operator() (const Case &c) const |
Renvoie la valeur de la position c. More... | |
Case | random_inside (int bordure=0) const |
Retourne une Case aléatoire dans la map. More... | |
Case | random_bordure () const |
Retourne une Case aléatoire sur la frontière de la map. More... | |
bool | add_cases (const std::list< Case > &l, int id) |
Ajoute une liste de cases de l'id à la carte. More... | |
bool | remove_cases (const std::list< Case > &l, int id) |
Retire une liste de cases de l'id de la carte. More... | |
int | nb_case (int rad, const Case &c) const |
Nombre de positions non nulles dans un rayon rad autour de la Case c. More... | |
bool | one_case (int val, const Case &c) const |
Indique s'il y a au moins une case égale à val dans l'entourage de 4 de c. More... | |
std::list< Case > | get_in_bounds () const |
Frontière intérieure de la map. More... | |
std::list< Case > | get_ext_bounds () const |
Frontière extérieure de la map. More... | |
std::string | string_map () const |
Transforme la map en string de *. More... | |
std::string | string_map_plus (const std::list< Case > &plus, char car) const |
Transforme la première liste en * et la deuxième en caractère choisi. More... | |
void | contigues (const Case &c, std::set< Case > &toutes) |
Complete l'ensemble de Case toutes par toutes les Case contiues à la c dans la Map. More... | |
std::list< Case > | contigues (const Case &c) |
Retourne les cases contigues en liste. More... | |
Protected Member Functions | |
bool | set (int x, int y, int val) |
Met la valeur val à la position x,y. More... | |
bool | set (const Case &c, int val) |
Met la valeur val à la position c. More... | |
Protected Attributes | |
std::vector< std::vector< int > > | map |
La carte. More... | |
Case | min |
Case du bord inférieur. More... | |
Case | max |
Case du bord supérieur. More... | |
Friends | |
class | Jeu |
Le Jeu est friend pour pouvoir lire facilement sa map. More... | |
class | ProjectileGame |
A retirer à l'avenir. More... | |
std::ostream & | operator<< (std::ostream &os, const Map &map) |
Affiche une Map en 2D avec des *. More... | |
std::ostream & | operator<< (std::ostream &os, const std::list< Case > &liste_cases) |
Affiche une liste de cases en 2D avec des *. More... | |
Une Map contient un vecteur d'entiers en 2 dimensions et dispose de bcp de fonctions utiles.
Map::Map | ( | const std::list< Case > & | liste_cases | ) |
Constructeur qui fixe ses limites avec les min et max de la liste et place chaque case de la liste avec des 1
|
inline |
Par défaut, carte de taille 1.
bool Map::add_cases | ( | const std::list< Case > & | l, |
int | id | ||
) |
Ajoute une liste de cases de
l'id à la carte.
Retourne les cases contigues en liste.
Obtient simplement le set des cases grâce à la fonction contigues précédente et le transforme en liste
int Map::get | ( | int | x, |
int | y | ||
) | const |
Retourne l'entier correspondant à la position.
|
inline |
Retourne l'entier correspondant à la position.
std::list< Case > Map::get_ext_bounds | ( | ) | const |
Frontière extérieure de la map.
std::list< Case > Map::get_in_bounds | ( | ) | const |
Frontière intérieure de la map.
bool Map::inside | ( | int | x, |
int | y | ||
) | const |
Indique si les coordonnées sont dans la map.
|
inline |
Indique si la case est dans la map.
int Map::nb_case | ( | int | rad, |
const Case & | c | ||
) | const |
Nombre de positions non nulles dans un rayon rad autour de la Case c.
bool Map::one_case | ( | int | val, |
const Case & | c | ||
) | const |
Indique s'il y a au moins une case égale à val dans l'entourage de 4 de c.
c
:val
, renvoyer vrai int Map::operator() | ( | int | x, |
int | y | ||
) | const |
Renvoie la valeur de la position x,y.
int Map::operator() | ( | const Case & | c | ) | const |
Renvoie la valeur de la position c.
bool Map::remove_cases | ( | const std::list< Case > & | l, |
int | id | ||
) |
Retire une liste de cases de
l'id de la carte.
|
protected |
Met la valeur val à la position x,y.
<<<<<<<<<<<<<<<<<<<<<<< SETTERS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
inlineprotected |
Met la valeur val à la position c.
std::string Map::string_map | ( | ) | const |
Transforme la map en string de *.
std::string Map::string_map_plus | ( | const std::list< Case > & | plus, |
char | car | ||
) | const |
Transforme la première liste en * et la deuxième en caractère choisi.
|
friend |
Affiche une Map en 2D avec des *.
|
friend |
Affiche une liste de cases en 2D avec des *.
Transforme la liste en Map et affiche celle-ci
|
friend |
A retirer à l'avenir.
|
protected |
La carte.