SpaceInvaders  1.0
Ebauche d'une réalisation d'un space invader
Définitions de type | Fonctions | Variables
Référence de l'espace de nommage nsSpaceInvaderML

Définitions de type

typedef std::vector< std::string > CVString
 Alias vers le type de l'écran (l'espace, la matrice). Plus de détails...
 
typedef CVString::size_type Size_t
 Alias vers le type des indices d'un CVString. Plus de détails...
 

Fonctions

const std::string KEmptyLine (KSizeLine, KEmpty)
 Alias ligne vide. Plus de détails...
 
const std::string KInvadersForm (KInvadersSize, KInsideInvader)
 Alias forme d'un envahisseur. Plus de détails...
 
const std::string KMyForm (KMySize, KInsideMe)
 Alias forme d'un joueur. Plus de détails...
 
const std::string KReset ("0")
 Alias remetant la couleur du texte du terminal à sa valeur par défaut. Plus de détails...
 
const std::string KBlack ("30")
 Alias mettant en noir la couleur du texte du terminal. Plus de détails...
 
const std::string KRed ("31")
 Alias mettant en rouge la couleur du texte du terminal. Plus de détails...
 
const std::string KGreen ("32")
 Alias mettant en vert la couleur du texte du terminal. Plus de détails...
 
const std::string KYellow ("33")
 Alias mettant en jaune la couleur du texte du terminal. Plus de détails...
 
const std::string KBlue ("34")
 Alias mettant en bleu la couleur du texte du terminal. Plus de détails...
 
const std::string KMAgenta ("35")
 Alias mettant en mangenta la couleur du texte du terminal. Plus de détails...
 
const std::string KCyan ("36")
 Alias mettant en cyan la couleur du texte du terminal. Plus de détails...
 
void Colour (const string &Coul)
 
void ClearScreen ()
 Fonction effaçant le contenu de l'écran. Plus de détails...
 
void GotoXY (unsigned X, unsigned Y)
 
void DownShift (CVString &Space, Size_t CurrentLine)
 Descend l'envahisseur d'une ligne dans l'espace. Plus de détails...
 
bool IsDead (const CVString &Space, Size_t Line, Size_t Column, char Who)
 Renvoie vrai si le belligérant meurt. Plus de détails...
 
bool Shoot (CVString &Space, Size_t Line, Size_t Middle, char Projectile, char Who)
 Simule le tir d'un belligérant. Renvoie vrai si le belligérant a gagné (faux sinon). Plus de détails...
 
bool ManageInvader (int &Increment, Size_t &CurrentLine, Size_t &Beg, bool &ToShoot, bool &Win, CVString &Space)
 Simule le jeu de l'envahisseur. C'est ici que l'envahisseur joue. En bout de ligne l'envahisseur descend d'une ligne et change de sens. Il tire également une fois sur 2. Renvoie vrai si l'envahisseur a gagné (faux sinon). Plus de détails...
 
void Remove (CVString &Space, Size_t Line, Size_t Column)
 enlève de l'espace le belligérant qui a perdu. Plus de détails...
 
void RecomputeSpace (CVString &Space, bool &Win, bool &Lost)
 recalcule l'espace (déplacement des torpilles et des missiles) à chaque fois qu'un belligérant a joué. Plus de détails...
 
void DisplaySpace (const CVString &Space)
 Permet d'afficher l'espace de jeu. Plus de détails...
 
bool ManageMe (CVString &Space, Size_t &Pos, bool &Lost)
 Simule le jeu du joueur. C'est ici que le joueur choisit ce qu'il fait. S'il décide de tirer, une tropille est lancée, d'une position au hasard, au dessus d'une de ses positions. Renvoie vrai si le joueur a gagné (faux sinon). Plus de détails...
 
void SpaceInvaders (void)
 simule le jeux Plus de détails...
 
void Colour (const std::string &Coul)
 

Variables

const char KEmpty = ' '
 Alias caractère de fond de l'espace. Plus de détails...
 
const char KInsideInvader = 'W'
 Alias caractère de remplissage d'un envahisseur. Plus de détails...
 
const char KInsideMe = 'A'
 Alias caractère de remplissage d'un joueur. Plus de détails...
 
const char KTorpedo = '|'
 Alias caractère correspondant à une torpille. Plus de détails...
 
const char KMissile = 'T'
 Alias caractère correspondant à un missile. Plus de détails...
 
const char KRight = '6'
 Alias du caractère pour aller à droite. Plus de détails...
 
const char KLeft = '4'
 Alias du carctère pour aller à gauche. Plus de détails...
 
const char KShoot = '5'
 Alias du caractère pour tirer. Plus de détails...
 
const Size_t KInvadersSize = 4
 Alias taille (en nombre de caractères) d'un envahisseur. Plus de détails...
 
const Size_t KInvadersMiddle = KInvadersSize / 2
 Alias déplacement du milieu d'un envahisseur. Plus de détails...
 
const Size_t KMySize = 1
 Alias taille d'un joueur. Plus de détails...
 
const Size_t KMyMiddle = KMySize / 2
 Alias déplacement du milieu d'un joueur. Plus de détails...
 
const Size_t KSizeLine = 10
 Alias nombre de colonnes de l'espace. Plus de détails...
 
const Size_t KSizeSpace = 10
 Alias nombre de lignes de l'espace. Plus de détails...
 
const Size_t KBegInvader = 0
 Alias indice de la position initiale de l'envahisseur. Plus de détails...
 
const Size_t KBegMe = KSizeLine / 2
 Alias indice de la position initiale du joueur. Plus de détails...
 
const unsigned KRatioMeInvaders = 4
 Alias ratio de jeu entre le joueur et l'envahisseur. Plus de détails...
 

Documentation des définitions de type

Alias vers le type de l'écran (l'espace, la matrice).

Définition à la ligne 19 du fichier MyType_ML.h.

typedef CVString::size_type nsSpaceInvaderML::Size_t

Alias vers le type des indices d'un CVString.

Définition à la ligne 23 du fichier MyType_ML.h.

Documentation des fonctions

void nsSpaceInvaderML::ClearScreen ( )

Fonction effaçant le contenu de l'écran.

Définition à la ligne 35 du fichier SpaceInavder_ML.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvaderML::Colour ( const std::string &  Coul)
void nsSpaceInvaderML::Colour ( const string &  Coul)

Définition à la ligne 29 du fichier SpaceInavder_ML.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvaderML::DisplaySpace ( const CVString Space)

Permet d'afficher l'espace de jeu.

Paramètres
[in]SpaceEspace de jeu

Définition à la ligne 210 du fichier SpaceInavder_ML.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvaderML::DownShift ( CVString Space,
Size_t  CurrentLine 
)

Descend l'envahisseur d'une ligne dans l'espace.

Paramètres
[in,out]Spaceétat de l'espace
[in]CurrentLineligne sur laquelle se trouve l'e belligérant concerné'envahisseur.

Définition à la ligne 47 du fichier SpaceInavder_ML.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvaderML::GotoXY ( unsigned  X,
unsigned  Y 
)

Définition à la ligne 41 du fichier SpaceInavder_ML.cpp.

Voici le graphe des appelants de cette fonction :

bool nsSpaceInvaderML::IsDead ( const CVString Space,
Size_t  Line,
Size_t  Column,
char  Who 
)

Renvoie vrai si le belligérant meurt.

Paramètres
[in]Spaceétat de l'espace
[in]Lineligne sur laquelle se trouve le belligérant concerné.
[in]Columncolonne sur laquelle se trouve le belligérant concerné.
[in,out]Whoqui est concerné.

Définition à la ligne 55 du fichier SpaceInavder_ML.cpp.

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvaderML::KBlack ( "30"  )

Alias mettant en noir la couleur du texte du terminal.

const std::string nsSpaceInvaderML::KBlue ( "34"  )

Alias mettant en bleu la couleur du texte du terminal.

const std::string nsSpaceInvaderML::KCyan ( "36"  )

Alias mettant en cyan la couleur du texte du terminal.

const std::string nsSpaceInvaderML::KEmptyLine ( KSizeLine  ,
KEmpty   
)

Alias ligne vide.

const std::string nsSpaceInvaderML::KGreen ( "32"  )

Alias mettant en vert la couleur du texte du terminal.

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvaderML::KInvadersForm ( KInvadersSize  ,
KInsideInvader   
)

Alias forme d'un envahisseur.

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvaderML::KMAgenta ( "35"  )

Alias mettant en mangenta la couleur du texte du terminal.

const std::string nsSpaceInvaderML::KMyForm ( KMySize  ,
KInsideMe   
)

Alias forme d'un joueur.

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvaderML::KRed ( "31"  )

Alias mettant en rouge la couleur du texte du terminal.

const std::string nsSpaceInvaderML::KReset ( "0"  )

Alias remetant la couleur du texte du terminal à sa valeur par défaut.

const std::string nsSpaceInvaderML::KYellow ( "33"  )

Alias mettant en jaune la couleur du texte du terminal.

Voici le graphe des appelants de cette fonction :

bool nsSpaceInvaderML::ManageInvader ( int &  Increment,
Size_t CurrentLine,
Size_t Beg,
bool &  ToShoot,
bool &  Win,
CVString Space 
)

Simule le jeu de l'envahisseur. C'est ici que l'envahisseur joue. En bout de ligne l'envahisseur descend d'une ligne et change de sens. Il tire également une fois sur 2. Renvoie vrai si l'envahisseur a gagné (faux sinon).

Paramètres
[in,out]Increment-1 ou 1 suivant que l'nvahisseur va à gauche ou à droite
[in,out]CurrentLineligne sur laquelle se déplace l'envahisseur.
[in,out]Begcolonne où est positionné l'envahisseur.
[in,out]ToShootindique si l'envahisseur doit tirer.
[in,out]Winindique si le joueur a gagné.
[in,out]Spaceétat de l'espace

Définition à la ligne 78 du fichier SpaceInavder_ML.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

bool nsSpaceInvaderML::ManageMe ( CVString Space,
Size_t Pos,
bool &  Lost 
)

Simule le jeu du joueur. C'est ici que le joueur choisit ce qu'il fait. S'il décide de tirer, une tropille est lancée, d'une position au hasard, au dessus d'une de ses positions. Renvoie vrai si le joueur a gagné (faux sinon).

Paramètres
[in,out]SpaceEspace de jeu
[in,out]Posposition du joueur sur sa ligne
[in,out]Lostindique si le joueur a perdu

Définition à la ligne 239 du fichier SpaceInavder_ML.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvaderML::RecomputeSpace ( CVString Space,
bool &  Win,
bool &  Lost 
)

recalcule l'espace (déplacement des torpilles et des missiles) à chaque fois qu'un belligérant a joué.

Paramètres
[in,out]SpaceEspace de jeu
[in,out]Winindique si le joueur a gagné
[in,out]Lostindique si le joueur a perdu

Définition à la ligne 138 du fichier SpaceInavder_ML.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvaderML::Remove ( CVString Space,
Size_t  Line,
Size_t  Column 
)

enlève de l'espace le belligérant qui a perdu.

Paramètres
[in,out]SpaceEspace de jeu
[in]Lineindique la ligne sur laquelle se trouve le belligérant à supprimer
[in]Columnindique la colonne à partir de laquelle il faut supprimer

Définition à la ligne 126 du fichier SpaceInavder_ML.cpp.

Voici le graphe des appelants de cette fonction :

bool nsSpaceInvaderML::Shoot ( CVString Space,
Size_t  Line,
Size_t  Middle,
char  Projectile,
char  Who 
)

Simule le tir d'un belligérant. Renvoie vrai si le belligérant a gagné (faux sinon).

Paramètres
[in,out]Spaceétat de l'espace
[in]Lineligne sur laquelle se trouve le tireur.
[in]Middlecolonne du tir.
[in]Projectileprojectile à lancer (torpille ou missile).
[in]Whoqui tire.

Définition à la ligne 64 du fichier SpaceInavder_ML.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvaderML::SpaceInvaders ( void  )

simule le jeux

  1. Déclare la grille de jeux
  2. L'initialise
  3. L'affiche
  4. boucle dont on sortira quand le joueur aura perdu ou gagné
    • joue pour le joueur
    • recalcule l'espace si le joueur n'a ni gagné ni perdu
    • affiche l'espace
    • sort de la boucle en cas de victoire ou de défaite
    • réitère ces 4 opérations KRatioMeInvaders fois
    • sort de la boucle en cas de victoire ou de défaite
    • joue pour l'e joueur'envahisseur
    • recalcule l'espace si l'e joueur'envahisseur n'a ni gagné ni perdu
    • affiche l'espace
    • sort de la boucle en cas de victoire ou de défaite
  5. affiche le résultat

Définition à la ligne 290 du fichier SpaceInavder_ML.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

Documentation des variables

const Size_t nsSpaceInvaderML::KBegInvader = 0

Alias indice de la position initiale de l'envahisseur.

Définition à la ligne 76 du fichier MyConst_ML.h.

const Size_t nsSpaceInvaderML::KBegMe = KSizeLine / 2

Alias indice de la position initiale du joueur.

Définition à la ligne 80 du fichier MyConst_ML.h.

const char nsSpaceInvaderML::KEmpty = ' '

Alias caractère de fond de l'espace.

Définition à la ligne 16 du fichier MyConst_ML.h.

const char nsSpaceInvaderML::KInsideInvader = 'W'

Alias caractère de remplissage d'un envahisseur.

Définition à la ligne 20 du fichier MyConst_ML.h.

const char nsSpaceInvaderML::KInsideMe = 'A'

Alias caractère de remplissage d'un joueur.

Définition à la ligne 24 du fichier MyConst_ML.h.

const Size_t nsSpaceInvaderML::KInvadersMiddle = KInvadersSize / 2

Alias déplacement du milieu d'un envahisseur.

Définition à la ligne 56 du fichier MyConst_ML.h.

const Size_t nsSpaceInvaderML::KInvadersSize = 4

Alias taille (en nombre de caractères) d'un envahisseur.

Définition à la ligne 52 du fichier MyConst_ML.h.

const char nsSpaceInvaderML::KLeft = '4'

Alias du carctère pour aller à gauche.

Définition à la ligne 42 du fichier MyConst_ML.h.

const char nsSpaceInvaderML::KMissile = 'T'

Alias caractère correspondant à un missile.

Définition à la ligne 32 du fichier MyConst_ML.h.

const Size_t nsSpaceInvaderML::KMyMiddle = KMySize / 2

Alias déplacement du milieu d'un joueur.

Définition à la ligne 64 du fichier MyConst_ML.h.

const Size_t nsSpaceInvaderML::KMySize = 1

Alias taille d'un joueur.

Définition à la ligne 60 du fichier MyConst_ML.h.

const unsigned nsSpaceInvaderML::KRatioMeInvaders = 4

Alias ratio de jeu entre le joueur et l'envahisseur.

Définition à la ligne 85 du fichier MyConst_ML.h.

const char nsSpaceInvaderML::KRight = '6'

Alias du caractère pour aller à droite.

Définition à la ligne 38 du fichier MyConst_ML.h.

const char nsSpaceInvaderML::KShoot = '5'

Alias du caractère pour tirer.

Définition à la ligne 46 du fichier MyConst_ML.h.

const Size_t nsSpaceInvaderML::KSizeLine = 10

Alias nombre de colonnes de l'espace.

Définition à la ligne 68 du fichier MyConst_ML.h.

const Size_t nsSpaceInvaderML::KSizeSpace = 10

Alias nombre de lignes de l'espace.

Définition à la ligne 72 du fichier MyConst_ML.h.

const char nsSpaceInvaderML::KTorpedo = '|'

Alias caractère correspondant à une torpille.

Définition à la ligne 28 du fichier MyConst_ML.h.