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.
Public Member Functions | Protected Attributes | Friends | List of all members
Case Class Reference

La Case est l'objet utilisé pour représenter simplement 2 coordonnées. More...

#include <Case.h>

Collaboration diagram for Case:
Collaboration graph

Public Member Functions

 Case (int x=0, int y=0)
 Constructeur initialisant les coordonées. More...
 
bool operator== (const Case &c) const
 Teste l'égalité des coordonnées. More...
 
void operator= (const Case &c)
 Oprateur d'affectation, copie les coordonnées. More...
 
Case operator+ (const Case &c) const
 Crée une nouvelle Case avec la somme des coordonnées. More...
 

Protected Attributes

int x
 Coordonnée x. More...
 
int y
 Coordonnée y. More...
 

Friends

class Map
 Question de pratique, les Map et Screen sont amies. More...
 
class Screen
 Question de pratique, les Map et Screen sont amies. More...
 
class Projectile
 A éviter. More...
 
bool operator< (const Case &a, const Case &c)
 Opérateur de comparaison, utilisé par les std::set. Compare x puis y. More...
 
std::ostream & operator<< (std::ostream &, const Case &)
 Affiche (x,y) More...
 
bool is_in_bounds (const Case &c, const Case &min, const Case &max)
 indique si la case est comprise entre le min et le max More...
 
int dist (const Case &a, const Case &b)
 Calcule la distance entre deux cases. Par défaut, distance euclidienne. More...
 
std::list< Casecontour8 (const Case &c)
 Renvoie la liste des 8 cases entourant celle en entrée. More...
 
std::list< Casecontour4 (const Case &c)
 Renvoie la liste des 4 cases(gauche, droite, au dessus, en dessous) entourant celle en entrée. More...
 
std::tuple< int, int, int, int > get_bounds (const std::list< Case > &liste_cases)
 Renvoie les extrémités d'une liste de cases. More...
 
std::map< char, std::list< Case > > file_to_map_corr (std::string filename, const Case &min)
 /// Lit un fichier et le convertit en map de correpsondances de caractères More...
 
std::list< Casefile_to_list_cases (std::string filename, const Case &min)
 Lit un fichier et le convertit en liste de cases correspondant aux *. More...
 

Detailed Description

La Case est l'objet utilisé pour représenter simplement 2 coordonnées.

Constructor & Destructor Documentation

Case::Case ( int  x = 0,
int  y = 0 
)
inline

Constructeur initialisant les coordonées.

Member Function Documentation

Case Case::operator+ ( const Case c) const
inline

Crée une nouvelle Case avec la somme des coordonnées.

void Case::operator= ( const Case c)
inline

Oprateur d'affectation, copie les coordonnées.

bool Case::operator== ( const Case c) const
inline

Teste l'égalité des coordonnées.

Friends And Related Function Documentation

std::list<Case> contour4 ( const Case c)
friend

Renvoie la liste des 4 cases(gauche, droite, au dessus, en dessous) entourant celle en entrée.

std::list<Case> contour8 ( const Case c)
friend

Renvoie la liste des 8 cases entourant celle en entrée.

int dist ( const Case a,
const Case b 
)
friend

Calcule la distance entre deux cases. Par défaut, distance euclidienne.

std::list<Case> file_to_list_cases ( std::string  filename,
const Case min 
)
friend

Lit un fichier et le convertit en liste de cases correspondant aux *.

  • Pour chaque caractère lu :
  • . Si c'est *, alors on ajoute la position correspondante à la liste
  • . Si c'est un retour à la ligne on incrémente x et reset y
std::map<char,std::list<Case> > file_to_map_corr ( std::string  filename,
const Case min 
)
friend

/// Lit un fichier et le convertit en map de correpsondances de caractères

  • Pour chaque caractère du fichier :
  • . Si ce n'est ni un '
    ' ni un ' ' :
  • .. Si c'est la première fois qu'il est rencontré :
  • ...On l'ajoute au dictionnaire
  • .. On ajoute la position au caractère correspondant dans le dictionnaire
  • . Incrémenter y
  • . Si c'est un retour à la ligne, x++ et y = 0
std::tuple<int,int,int,int> get_bounds ( const std::list< Case > &  liste_cases)
friend

Renvoie les extrémités d'une liste de cases.

Returns
x_min,y_min,x_max,y_max
  • Pour chaque Case de la liste, on met à jour les valeurs maximales si nécessaire
bool is_in_bounds ( const Case c,
const Case min,
const Case max 
)
friend

indique si la case est comprise entre le min et le max

Parameters
cCase à tester
minBord minimal
maxBord maximal
Returns
vrai(true) si c est comprise entre min et max
friend class Map
friend

Question de pratique, les Map et Screen sont amies.

bool operator< ( const Case a,
const Case c 
)
friend

Opérateur de comparaison, utilisé par les std::set. Compare x puis y.

std::ostream& operator<< ( std::ostream &  os,
const Case c 
)
friend

Affiche (x,y)

friend class Projectile
friend

A éviter.

friend class Screen
friend

Question de pratique, les Map et Screen sont amies.

Member Data Documentation

int Case::x
protected

Coordonnée x.

int Case::y
protected

Coordonnée y.


The documentation for this class was generated from the following file: