![]() |
SpaceInvaders
1.0
Ebauche d'une réalisation d'un space invader
|
Projet de C++ simulant un SpaceInvader. More...
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <termios.h>
#include <cstdio>
#include "MyType_AC.h"
#include "SpaceInvader_AC.h"
#include "MyConst_AC.h"
Functions | |
void | nsSpaceInvader_AC::Couleur (const string &Coul) |
void | nsSpaceInvader_AC::ClearScreen () |
Fonction effaçant le contenu de l'écran. | |
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). More... | |
void | nsSpaceInvader_AC::PutAllObjects (const CAObject &Obj, CVString &Space) |
Vide l'espace de jeu, puis insère tous les objets du jeu. More... | |
void | nsSpaceInvader_AC::DisplaySpace (const CVString &Space) |
Permet d'afficher l'espace de jeu. More... | |
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. More... | |
void | nsSpaceInvader_AC::MaxX (const CVPosition &VPos, CPosition &MaxPos) |
Trouve le maximum d'un vecteur de CPosition de la coordonées en X (abscisse). More... | |
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). More... | |
void | nsSpaceInvader_AC::MinX (const CVPosition &VPos, CPosition &MinPos) |
Trouve le minimum d'un vecteur de CPosition de la coordonées en X (abscisse). More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | nsSpaceInvader_AC::ManageInvaders (const CVString &Space, CAObject &Obj, unsigned &Direction, unsigned &WhatInvaderDo) |
ManageInvaders Simule le jeu de l'envahisseur. More... | |
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. More... | |
void | nsSpaceInvader_AC::CollisionBetweenMissilesAndTorpedos (CVPosition &Missiles, CVPosition &Torpedos) |
Gère les collisions (multiples) entre les missiles et les tropilles. More... | |
void | nsSpaceInvader_AC::ManageCollisions (CAObject &Obj) |
Gère toutes les collisions du jeu. More... | |
unsigned | nsSpaceInvader_AC::Victory (const CVString &Space, const CAObject &Obj) |
Teste si l'envahisseur ou si le joueur ont gagné. More... | |
void | nsSpaceInvader_AC::DeleteMissiles (const CVString &Space, CVPosition &Missiles) |
Supprime les missiles qui sortent de l'espace de jeu. More... | |
void | nsSpaceInvader_AC::DeleteTorpedos (CVPosition &Torpedos) |
Supprime les tropilles qui sortent de l'espace de jeu. More... | |
unsigned | nsSpaceInvader_AC::SpaceInvaders (void) |
Fonction principale du jeu sans option. | |
void | nsSpaceInvader_AC::ShowFile (const string &FileName) |
Permet d'afficher le contenu d'un fichier à l'écran. More... | |
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. | |
int | nsSpaceInvader_AC::ppal (const string &Path) |
void nsSpaceInvader_AC::CollisionBetweenMissilesAndTorpedos | ( | CVPosition & | Missiles, |
CVPosition & | Torpedos | ||
) |
Gère les collisions (multiples) entre les missiles et les tropilles.
Missiles | [in, out] Vecteur des positions des missiles |
Torpedos | [in, out] Vecteur des positions des torpilles |
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.
Objects | [in, out] Vecteur des positions des objects à traiter |
StarShips | [in, out] Vecteur des positions des vaisseaux à traiter |
void nsSpaceInvader_AC::DeleteMissiles | ( | const CVString & | Space, |
CVPosition & | Missiles | ||
) |
Supprime les missiles qui sortent de l'espace de jeu.
[in] | Space | Espace de jeu |
Missiles | [in, out] Vecteur des positions des missiles |
void nsSpaceInvader_AC::DeleteTorpedos | ( | CVPosition & | Torpedos | ) |
Supprime les tropilles qui sortent de l'espace de jeu.
Torpedos | [in, out] Vecteur des positions des torpilles |
void nsSpaceInvader_AC::DisplaySpace | ( | const CVString & | Space | ) |
Permet d'afficher l'espace de jeu.
[in] | Space | Espace de jeu |
Permet d'initialiser l'espace de jeu et de définir les coordonnées des objets à placer au lancement du jeu.
Space | [out] Espace de jeu |
Obj | [ou] Liste des objets à placer au début du jeu |
void nsSpaceInvader_AC::ManageCollisions | ( | CAObject & | Obj | ) |
Gère toutes les collisions du jeu.
[in,out] | Obj | Liste des objets du jeu |
void nsSpaceInvader_AC::ManageInvaders | ( | const CVString & | Space, |
CAObject & | Obj, | ||
unsigned & | Direction, | ||
unsigned & | WhatInvaderDo | ||
) |
ManageInvaders Simule le jeu de l'envahisseur.
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). |
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.
Space | [in] Espace de jeu |
Obj | [in, out] Liste des objets du jeu |
void nsSpaceInvader_AC::MaxX | ( | const CVPosition & | VPos, |
CPosition & | MaxPos | ||
) |
Trouve le maximum d'un vecteur de CPosition de la coordonées en X (abscisse).
VPos | [in] Vecteur de CPosition |
MaxPos | [out] Valeur maximale pour X |
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).
VPos | [in] Vecteur de CPosition |
MaxPos | [out] Valeur maximale pour Y |
void nsSpaceInvader_AC::MinX | ( | const CVPosition & | VPos, |
CPosition & | MinPos | ||
) |
Trouve le minimum d'un vecteur de CPosition de la coordonées en X (abscisse).
VPos | [in] Vecteur de CPosition |
MinPos | [out] Valeur minimale pour X |
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.
VPos | [in, out] Vecteur de CPosition |
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.
VPos | [in, out] Vecteur de CPosition |
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.
Space | [in] Espace de jeu |
VPos | [in, out] Vecteur de CPosition |
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.
VPos | [in, out] Vecteur de CPosition |
Vide l'espace de jeu, puis insère tous les objets du jeu.
Obj | [in] Liste des objets à insérer |
Space | [in, out] Espace de jeu |
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).
[in] | VPos | Vecteur de CPosition |
[in] | Car | Caractère à insérer dans l'esapce |
[in,out] | Space | Espace de jeu |
void nsSpaceInvader_AC::ShowFile | ( | const string & | FileName | ) |
Permet d'afficher le contenu d'un fichier à l'écran.
FileName | [in] Chemin vers le fichier à afficher |
Teste si l'envahisseur ou si le joueur ont gagné.
Space | [in] Espace de jeu |
Obj | [in] Liste des objets du jeu |