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 nsSpaceInvader_AC

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 std::pair< unsigned, unsigned > CPosition
 Alias vers une coordonnée de la matrice. Le premier élément de la paire désigne une ordonnée (axe Y), le second une abscisse (axe X). Plus de détails...
 
typedef std::vector< CPositionCVPosition
 Alias vers un vecteur de coordonnees. Plus de détails...
 
typedef std::array< CVPosition, 4 > CAObject
 Alias vers un tableau de 4 vecteurs de coordonnees. Plus de détails...
 

Fonctions

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 KNoir ("30")
 Alias mettant en noir la couleur du texte du terminal. Plus de détails...
 
const std::string KRouge ("31")
 Alias mettant en rouge la couleur du texte du terminal. Plus de détails...
 
const std::string KVert ("32")
 Alias mettant en vert la couleur du texte du terminal. Plus de détails...
 
const std::string KJaune ("33")
 Alias mettant en jaune la couleur du texte du terminal. Plus de détails...
 
const std::string KBleu ("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...
 
const std::string KInvadersColor (KJaune)
 Couleur de l'envahisseur. Plus de détails...
 
const std::string KMyColor (KVert)
 Couleur liée à mes objets (vaisseaux et tropilles). Plus de détails...
 
const std::string KEmptyLine (KSizeLine, KEmpty)
 Alias vers une ligne vide de l'esapce. Plus de détails...
 
void Couleur (const string &Coul)
 
void ClearScreen ()
 Fonction effaçant le contenu de l'écran. Plus de détails...
 
void PutCVPosition (const CVPosition &VPos, char Car, CVString &Space)
 Permet d'insérer le carcactère passé en second paramètre à toutes les positions souhaitées (1er paramètre) de l'espace de jeu (3ème paramètre). Plus de détails...
 
void PutAllObjects (const CAObject &Obj, CVString &Space)
 Vide l'espace de jeu, puis insère tous les objets du jeu. Plus de détails...
 
void DisplaySpace (const CVString &Space)
 Permet d'afficher l'espace de jeu. Plus de détails...
 
void InitSpace (CVString &Space, CAObject &Obj)
 Permet d'initialiser l'espace de jeu et de définir les coordonnées des objets à placer au lancement du jeu. Plus de détails...
 
void MaxX (const CVPosition &VPos, CPosition &MaxPos)
 Trouve le maximum d'un vecteur de CPosition de la coordonées en X (abscisse). Plus de détails...
 
void MaxY (const CVPosition &VPos, CPosition &MaxPos)
 Trouve le maximum d'un vecteur de CPosition de la coordonées en Y (ordonnée). Plus de détails...
 
void MinX (const CVPosition &VPos, CPosition &MinPos)
 Trouve le minimum d'un vecteur de CPosition de la coordonées en X (abscisse). Plus de détails...
 
bool MoveLeft (CVPosition &VPos)
 Simule un déplacement gauche en retranchant une unité de déplacement à toutes les abscisses des objets en paramètre. Plus de détails...
 
bool MoveRight (const CVString &Space, CVPosition &VPos)
 Simule un déplacement droit en ajoutant une unité de déplacement à toutes les abscisses des objets en paramètre. Plus de détails...
 
void MoveDown (CVPosition &VPos)
 Simule un déplacement bas en ajoutant une unité de déplacement à toutes les ordonnées des objets en paramètre. Plus de détails...
 
void MoveUp (CVPosition &VPos)
 Simule un déplacement haut en ajoutant une unité de déplacement à toutes les ordonnées des objets en paramètre. Plus de détails...
 
void ManageMe (const CVString &Space, CAObject &Obj)
 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. Plus de détails...
 
void ManageInvaders (const CVString &Space, CAObject &Obj, unsigned &Direction, unsigned &WhatInvaderDo)
 ManageInvaders Simule le jeu de l'envahisseur. Plus de détails...
 
void CollisionBetweenObjectsAndShips (CVPosition &Objects, CVPosition &StarShips)
 Gère les collisions entre les objets et les vaisseaux. Si une collision est détéctée (même coordonées pour un objet et une partie d'un vaisseau), l'objet et la partie du vaisseau diparaissent. Plus de détails...
 
void CollisionBetweenMissilesAndTorpedos (CVPosition &Missiles, CVPosition &Torpedos)
 Gère les collisions (multiples) entre les missiles et les tropilles. Plus de détails...
 
void ManageCollisions (CAObject &Obj)
 Gère toutes les collisions du jeu. Plus de détails...
 
unsigned Victory (const CVString &Space, const CAObject &Obj)
 Teste si l'envahisseur ou si le joueur ont gagné. Plus de détails...
 
void DeleteMissiles (const CVString &Space, CVPosition &Missiles)
 Supprime les missiles qui sortent de l'espace de jeu. Plus de détails...
 
void DeleteTorpedos (CVPosition &Torpedos)
 Supprime les tropilles qui sortent de l'espace de jeu. Plus de détails...
 
unsigned SpaceInvaders (void)
 Fonction principale du jeu sans option. Plus de détails...
 
void ShowFile (const string &FileName)
 Permet d'afficher le contenu d'un fichier à l'écran. Plus de détails...
 
void set_input_mode (void)
 Permet d'activer la saisie à la volée. Utile pour gérer les déplacement du joueur sans appuyer sur la touche entrée. si le joueur ne joue pas pendant 3 10ème de seconde, alors il pert une action.

voir : http://www.gnu.org/software/libc/manual/html_node/Noncanon-Example.html et http://man7.org/linux/man-pages/man3/termios.3.html. Plus de détails...
 
int ppal (const string &Path)
 
void Couleur (const std::string &Coul)
 
void ShowFile (const std::string &FileName)
 
int ppal (const std::string &Path)
 

Variables

const char KRight = 'x'
 Alias vers la touche servant à se déplacer à droite. Plus de détails...
 
const char KLeft = 'w'
 Alias vers la touche servant à se déplacer à gauche. Plus de détails...
 
const char KShoot = ' '
 Alias vers la touche servant à lancer une torpille. Plus de détails...
 
const char KInsideInvader = 'W'
 Caractèrere formant l'envahisseur. Plus de détails...
 
const char KMissile = 'T'
 Caractèrere formant le missile. Plus de détails...
 
const unsigned KInvadersSize = 5
 Nombre de caractères qui forment l'envahisseur. Plus de détails...
 
const unsigned KMissileRatio = 2
 Nombre de fois où l'envahisseur tire un missile par rapport à son déplacement. Plus de détails...
 
const char KInsideMe = 'A'
 Caractèrere formant mon vaisseau. Plus de détails...
 
const char KTorpedo = '|'
 Caractèrere formant ma torpille. Plus de détails...
 
const unsigned KMySize = 4
 Nombre de caractères qui forment mon vaisseau. Plus de détails...
 
const unsigned KRatioMeInvaders = 4
 Nombre de fois où c'est le tour du joueur pour un tour de l'envahisseur. Plus de détails...
 
const char KEmpty = ' '
 Alias vers une case vide à l'écran. Plus de détails...
 
const unsigned KSizeLine = 10
 Nombre de lignes de l'écran (de l'espace). Plus de détails...
 
const unsigned KSizeSpace = 10
 Nombre de colonnes de l'écran (de l'espace). Plus de détails...
 
const unsigned KBegInvader = 0
 Numéro de colonne où commence l'envahisseur. Plus de détails...
 
const unsigned KBegMe = KSizeLine / 2
 Numéro de colonne où commence le joueur. Plus de détails...
 

Documentation des définitions de type

Alias vers un tableau de 4 vecteurs de coordonnees.

  • indice 0 : les positions de l'envahisseur
  • indice 1 : les positions des missiles
  • indice 2 : les positions de mon vaisseau
  • indice 3 : les positions de mes torpilles

Définition à la ligne 54 du fichier MyType_AC.h.

Alias vers une coordonnée de la matrice. Le premier élément de la paire désigne une ordonnée (axe Y), le second une abscisse (axe X).

Définition à la ligne 31 du fichier MyType_AC.h.

Alias vers un vecteur de coordonnees.

Définition à la ligne 37 du fichier MyType_AC.h.

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

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

Documentation des fonctions

void nsSpaceInvader_AC::ClearScreen ( )

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

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

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::CollisionBetweenMissilesAndTorpedos ( CVPosition Missiles,
CVPosition Torpedos 
)

Gère les collisions (multiples) entre les missiles et les tropilles.

Paramètres
Missiles[in, out] Vecteur des positions des missiles
Torpedos[in, out] Vecteur des positions des torpilles

Définition à la ligne 222 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::CollisionBetweenObjectsAndShips ( CVPosition Objects,
CVPosition StarShips 
)

Gère les collisions entre les objets et les vaisseaux. Si une collision est détéctée (même coordonées pour un objet et une partie d'un vaisseau), l'objet et la partie du vaisseau diparaissent.

Paramètres
Objects[in, out] Vecteur des positions des objects à traiter
StarShips[in, out] Vecteur des positions des vaisseaux à traiter

Définition à la ligne 205 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::Couleur ( const std::string &  Coul)
void nsSpaceInvader_AC::Couleur ( const string &  Coul)

Définition à la ligne 24 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::DeleteMissiles ( const CVString Space,
CVPosition Missiles 
)

Supprime les missiles qui sortent de l'espace de jeu.

Paramètres
[in]SpaceEspace de jeu
Missiles[in, out] Vecteur des positions des missiles

Définition à la ligne 262 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::DeleteTorpedos ( CVPosition Torpedos)

Supprime les tropilles qui sortent de l'espace de jeu.

Paramètres
Torpedos[in, out] Vecteur des positions des torpilles

Définition à la ligne 272 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::DisplaySpace ( const CVString Space)

Permet d'afficher l'espace de jeu.

Paramètres
[in]SpaceEspace de jeu

Définition à la ligne 49 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::InitSpace ( CVString Space,
CAObject Obj 
)

Permet d'initialiser l'espace de jeu et de définir les coordonnées des objets à placer au lancement du jeu.

Paramètres
Space[out] Espace de jeu
Obj[ou] Liste des objets à placer au début du jeu

Définition à la ligne 77 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvader_AC::KBleu ( "34"  )

Alias mettant en bleu la couleur du texte du terminal.

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

Alias mettant en cyan la couleur du texte du terminal.

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

Alias vers une ligne vide de l'esapce.

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvader_AC::KInvadersColor ( KJaune  )

Couleur de l'envahisseur.

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvader_AC::KJaune ( "33"  )

Alias mettant en jaune la couleur du texte du terminal.

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

Alias mettant en mangenta la couleur du texte du terminal.

const std::string nsSpaceInvader_AC::KMyColor ( KVert  )

Couleur liée à mes objets (vaisseaux et tropilles).

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvader_AC::KNoir ( "30"  )

Alias mettant en noir la couleur du texte du terminal.

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

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

Voici le graphe des appelants de cette fonction :

const std::string nsSpaceInvader_AC::KRouge ( "31"  )

Alias mettant en rouge la couleur du texte du terminal.

const std::string nsSpaceInvader_AC::KVert ( "32"  )

Alias mettant en vert la couleur du texte du terminal.

void nsSpaceInvader_AC::ManageCollisions ( CAObject Obj)

Gère toutes les collisions du jeu.

Paramètres
[in,out]ObjListe des objets du jeu

Définition à la ligne 247 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::ManageInvaders ( const CVString Space,
CAObject Obj,
unsigned &  Direction,
unsigned &  WhatInvaderDo 
)

ManageInvaders Simule le jeu de l'envahisseur.

Paramètres
Space[in] Espace de jeu
Obj[in, out] Liste des objets du jeu
Direction[in, out] Sens de déplacement de l'envahisseur
WhatInvaderDo[in, out] Ce que doit faire l'envahisseur (se déplacer ou lancer un missile, d'une position au hasard, au dessous d'une de ses positions).

Définition à la ligne 173 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::ManageMe ( const CVString Space,
CAObject Obj 
)

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.

Paramètres
Space[in] Espace de jeu
Obj[in, out] Liste des objets du jeu

Définition à la ligne 153 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::MaxX ( const CVPosition VPos,
CPosition MaxPos 
)

Trouve le maximum d'un vecteur de CPosition de la coordonées en X (abscisse).

Paramètres
VPos[in] Vecteur de CPosition
MaxPos[out] Valeur maximale pour X

Définition à la ligne 95 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::MaxY ( const CVPosition VPos,
CPosition MaxPos 
)

Trouve le maximum d'un vecteur de CPosition de la coordonées en Y (ordonnée).

Paramètres
VPos[in] Vecteur de CPosition
MaxPos[out] Valeur maximale pour Y

Définition à la ligne 103 du fichier SpaceInvader_AC.cpp.

void nsSpaceInvader_AC::MinX ( const CVPosition VPos,
CPosition MinPos 
)

Trouve le minimum d'un vecteur de CPosition de la coordonées en X (abscisse).

Paramètres
VPos[in] Vecteur de CPosition
MinPos[out] Valeur minimale pour X

Définition à la ligne 112 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::MoveDown ( CVPosition VPos)

Simule un déplacement bas en ajoutant une unité de déplacement à toutes les ordonnées des objets en paramètre.

Paramètres
VPos[in, out] Vecteur de CPosition

Définition à la ligne 141 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

bool nsSpaceInvader_AC::MoveLeft ( CVPosition VPos)

Simule un déplacement gauche en retranchant une unité de déplacement à toutes les abscisses des objets en paramètre.

Paramètres
VPos[in, out] Vecteur de CPosition
Renvoie
Vrai si la plus petite des abscisses ne vaut pas 0, faux sinon

Définition à la ligne 120 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

bool nsSpaceInvader_AC::MoveRight ( const CVString Space,
CVPosition VPos 
)

Simule un déplacement droit en ajoutant une unité de déplacement à toutes les abscisses des objets en paramètre.

Paramètres
Space[in] Espace de jeu
VPos[in, out] Vecteur de CPosition
Renvoie
Vrai si la plus grande des abscisses ne vaut pas n'est pas sur la dernière case de l'espace de jeu, faux sinon

Définition à la ligne 130 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::MoveUp ( CVPosition VPos)

Simule un déplacement haut en ajoutant une unité de déplacement à toutes les ordonnées des objets en paramètre.

Paramètres
VPos[in, out] Vecteur de CPosition

Définition à la ligne 147 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

int nsSpaceInvader_AC::ppal ( const std::string &  Path)
int nsSpaceInvader_AC::ppal ( const string &  Path)

Définition à la ligne 355 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::PutAllObjects ( const CAObject Obj,
CVString Space 
)

Vide l'espace de jeu, puis insère tous les objets du jeu.

Paramètres
Obj[in] Liste des objets à insérer
Space[in, out] Espace de jeu

Définition à la ligne 40 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::PutCVPosition ( const CVPosition VPos,
char  Car,
CVString Space 
)

Permet d'insérer le carcactère passé en second paramètre à toutes les positions souhaitées (1er paramètre) de l'espace de jeu (3ème paramètre).

Paramètres
[in]VPosVecteur de CPosition
[in]CarCaractère à insérer dans l'esapce
[in,out]SpaceEspace de jeu

Définition à la ligne 34 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::set_input_mode ( void  )

Permet d'activer la saisie à la volée. Utile pour gérer les déplacement du joueur sans appuyer sur la touche entrée. si le joueur ne joue pas pendant 3 10ème de seconde, alors il pert une action.

voir : http://www.gnu.org/software/libc/manual/html_node/Noncanon-Example.html et http://man7.org/linux/man-pages/man3/termios.3.html.

Définition à la ligne 336 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

void nsSpaceInvader_AC::ShowFile ( const std::string &  FileName)
void nsSpaceInvader_AC::ShowFile ( const string &  FileName)

Permet d'afficher le contenu d'un fichier à l'écran.

Paramètres
FileName[in] Chemin vers le fichier à afficher

Définition à la ligne 327 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

unsigned nsSpaceInvader_AC::SpaceInvaders ( void  )

Fonction principale du jeu sans option.

Définition à la ligne 282 du fichier SpaceInvader_AC.cpp.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

unsigned nsSpaceInvader_AC::Victory ( const CVString Space,
const CAObject Obj 
)

Teste si l'envahisseur ou si le joueur ont gagné.

Paramètres
Space[in] Espace de jeu
Obj[in] Liste des objets du jeu
Renvoie
0 si ni l'envahisseur ou le joueur ont gagné, 1 si c'est l'envahiseur et 2 si c'est le joueur

Définition à la ligne 254 du fichier SpaceInvader_AC.cpp.

Voici le graphe des appelants de cette fonction :

Documentation des variables

const unsigned nsSpaceInvader_AC::KBegInvader = 0

Numéro de colonne où commence l'envahisseur.

Définition à la ligne 142 du fichier MyConst_AC.h.

const unsigned nsSpaceInvader_AC::KBegMe = KSizeLine / 2

Numéro de colonne où commence le joueur.

Définition à la ligne 147 du fichier MyConst_AC.h.

const char nsSpaceInvader_AC::KEmpty = ' '

Alias vers une case vide à l'écran.

Définition à la ligne 128 du fichier MyConst_AC.h.

const char nsSpaceInvader_AC::KInsideInvader = 'W'

Caractèrere formant l'envahisseur.

Définition à la ligne 79 du fichier MyConst_AC.h.

const char nsSpaceInvader_AC::KInsideMe = 'A'

Caractèrere formant mon vaisseau.

Définition à la ligne 105 du fichier MyConst_AC.h.

const unsigned nsSpaceInvader_AC::KInvadersSize = 5

Nombre de caractères qui forment l'envahisseur.

Définition à la ligne 89 du fichier MyConst_AC.h.

const char nsSpaceInvader_AC::KLeft = 'w'

Alias vers la touche servant à se déplacer à gauche.

Définition à la ligne 63 du fichier MyConst_AC.h.

const char nsSpaceInvader_AC::KMissile = 'T'

Caractèrere formant le missile.

Définition à la ligne 84 du fichier MyConst_AC.h.

const unsigned nsSpaceInvader_AC::KMissileRatio = 2

Nombre de fois où l'envahisseur tire un missile par rapport à son déplacement.

Définition à la ligne 94 du fichier MyConst_AC.h.

const unsigned nsSpaceInvader_AC::KMySize = 4

Nombre de caractères qui forment mon vaisseau.

Définition à la ligne 115 du fichier MyConst_AC.h.

const unsigned nsSpaceInvader_AC::KRatioMeInvaders = 4

Nombre de fois où c'est le tour du joueur pour un tour de l'envahisseur.

Définition à la ligne 121 du fichier MyConst_AC.h.

const char nsSpaceInvader_AC::KRight = 'x'

Alias vers la touche servant à se déplacer à droite.

Définition à la ligne 58 du fichier MyConst_AC.h.

const char nsSpaceInvader_AC::KShoot = ' '

Alias vers la touche servant à lancer une torpille.

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

const unsigned nsSpaceInvader_AC::KSizeLine = 10

Nombre de lignes de l'écran (de l'espace).

Définition à la ligne 132 du fichier MyConst_AC.h.

const unsigned nsSpaceInvader_AC::KSizeSpace = 10

Nombre de colonnes de l'écran (de l'espace).

Définition à la ligne 137 du fichier MyConst_AC.h.

const char nsSpaceInvader_AC::KTorpedo = '|'

Caractèrere formant ma torpille.

Définition à la ligne 110 du fichier MyConst_AC.h.