From 18053fee4d6aa53a20638c1db89820063fa70919 Mon Sep 17 00:00:00 2001 From: bohan2u <@bohan2u> Date: Sun, 3 Jan 2021 17:45:58 +0100 Subject: [PATCH] Ajout d un peu de commentaire --- code/constant.h | 35 ++++++++++++++--------- code/soldier.h | 73 ++++++++++++++++++++++++++++++++++++----------- code/sprite.h | 43 ++++++++++++++++++++++++++++ code/world_data.h | 61 ++++++++++++++++++++++++++++++++++----- data/save.txt | 7 ++--- 5 files changed, 179 insertions(+), 40 deletions(-) diff --git a/code/constant.h b/code/constant.h index 95bdff0..48a2a93 100644 --- a/code/constant.h +++ b/code/constant.h @@ -35,7 +35,7 @@ #define SOLDIER_HP 10 /** - * \brief Valeur de l'inrémentation des ennemis à chauqe manche + * \brief Valeur de l'inrémentation des ennemis à chaque manche */ #define INCREMENTATION_ENEMIES 3 @@ -72,7 +72,7 @@ #define PLANE_SIZE 50 /** - * \brief Taille de l'avion de ravitaillement + * \brief Taille du power up */ #define POWERUP_SIZE 50 @@ -99,7 +99,7 @@ /** * \brief Vitesse d'un ennemi de type 3 */ -#define ENEMY_T3_SPEED 3 +#define ENEMY_T3_SPEED 2 /** * \brief Vitesse d'un ennemi de type 2 @@ -116,11 +116,6 @@ */ #define SOLDIER_SPEED 2 -/** - * \brief Vitesse du accroupie -*/ -#define SOLDIER_SPEED_CTRL 0.5f - /** * \brief Hauteur du soldat accroupi */ @@ -156,29 +151,43 @@ */ #define TEXT_HEIGHT - +/** + * \brief Pour que les balles soit tirer au niveau du canon de l arme +*/ #define ORDERED_BULLET (SCREEN_HEIGHT-SOLDIER_HEIGHT*2-20+SOLDIER_HEIGHT/2+BULLET_WIDTH/2)-14 /** - * \brief force de gravité + * \brief Force de gravité */ #define V_GRAV -3 +/** + * \brief Vitesse de saut +*/ #define V_SAUT 4 +/** + * \brief Nombre de balle dans le chargeur +*/ #define NB_BULLET 30 +/** + * \brief Temps entre chaque balle +*/ #define TIME_BULLET 25 -#define TIME_RELOAD 300 +/** + * \brief Temps de recharge de l arme +*/ +#define TIME_RELOAD 200 /** - * \brief Largeur du soldat accroupi + * \brief Vitesse en plus bonus en touchant le power up */ #define SPEED_BONUS 1 /** - * \brief Vitesse de la balle du joueur + * \brief Point de vie bonus en touchant le power up */ #define HEALTH_BONUS 5 diff --git a/code/soldier.h b/code/soldier.h index f4e17f7..d0fab09 100644 --- a/code/soldier.h +++ b/code/soldier.h @@ -7,13 +7,13 @@ struct bullet_s{ - sprite_t sprite; - int shoot; - char sens; + sprite_t sprite; /*!<Sprite de la balle */ + int shoot; /*!<Indique si la balle est tirée */ + char sens; /*!<Indique le sens de la balle */ SDL_Rect DestBullet; }; /** - * \brief Type qui correspond au paramètre du soldat + * \brief Type qui correspond au paramètre de la balle */ typedef struct bullet_s bullet_t; @@ -21,46 +21,87 @@ typedef struct bullet_s bullet_t; * \brief Paramètre du soldat */ struct soldier_s{ - sprite_t sprite; + sprite_t sprite; /*!<Sprite du soldat */ int hp; /*!<Point de vie */ - int state_jump; - int is_walking; - int is_crouching; - int is_looking_up; - int direction; - int walk_counter; - int jump_counter; + int state_jump; /*!<Indique si le soldat saute */ + int is_walking; /*!<Indique si le soldat marche */ + int is_crouching; /*!<Indique si le soldat est accroupie */ + int is_looking_up; /*!<Indique si le soldat regarde vers le haut */ + int direction; /*!<Indique la direction du soldat */ + int walk_counter; /*!<Compteur pour la marche du soldat */ + int jump_counter; /*!<Compteur pour le saut du soldat */ int wait_time_walk; SDL_Rect DestSoldier; - bullet_t charger[NB_BULLET]; - int time_bullet; - int time_reload; - int present_bullet; + bullet_t charger[NB_BULLET]; /*!<Chargeur de l arme du soldat */ + int time_bullet; /*!<Temps entre chaque balle */ + int time_reload; /*!<Temps de rechargement*/ + int present_bullet; /*!<Indique la balle presente dans l arme*/ }; /** * \brief Type qui correspond au paramètre du soldat */ typedef struct soldier_s soldier_t; +/** + * \brief Initialise le soldat + * \param soldat + * \param hp point de vie du soldat + */ void init_soldier(soldier_t *soldier, int hp); +/** + * \brief Permet au soldat de sauter + * \param soldat + */ void jump(soldier_t *soldier); +/** + * \brief Initialise le chargeur du soldat + * \param soldat + */ void init_bullet(soldier_t *soldier); +/** + * \brief Permet au soldat de tirer + * \param soldat + */ void shoot(soldier_t *soldier); +/** + * \brief Permet au balle de continuer d avancer apres avoir etait tirer + * \param soldat + */ void shootAfterE(soldier_t *soldier); +/** + * \brief Permet au soldat de marcher vers la droite + * \param soldat + */ void walk_right(soldier_t *soldier); +/** + * \brief Permet au soldat de marcher vers la gauche + * \param soldat + */ void walk_left(soldier_t *soldier); +/** + * \brief Set le direction de la balle vers la droite + * \param soldat + */ void setBulletD(soldier_t *soldier); +/** + * \brief Set le direction de la balle vers la gauche + * \param soldat + */ void setBulletG(soldier_t *soldier); +/** + * \brief Set le direction de la balle vers le haut + * \param soldat + */ void setBulletH(soldier_t *soldier); diff --git a/code/sprite.h b/code/sprite.h index 09169c7..81d91b8 100644 --- a/code/sprite.h +++ b/code/sprite.h @@ -24,22 +24,65 @@ struct sprite_s{ */ typedef struct sprite_s sprite_t; +/** + * \brief Définit tous les paramètres d'un sprite + * \param sprite + * \param x la position en x + * \param y la position en y + * \param w la largeur w + * \param h la hauteur h + * \param v la vitesse v + * \param hp les points de vie hp + */ void init_sprite(sprite_t *sprite, int x, int y, int w, int h, float v,int hp); +/** + * \brief Rend visible le sprite + * \param sprite + */ void set_visible(sprite_t *sprite); +/** + * \brief Rend invisible le sprite + * \param sprite + */ void set_invisible(sprite_t *sprite); +/** + * \brief Retourne 1 si le sprite touche le bord gauche de l'écran sinon retourne 0 + * \param sprite + */ int over_left (sprite_t*sprite); +/** + * \brief Retourne 1 si le sprite touche le bord droit de l'écran sinon retourne 0 + * \param sprite + */ int over_right (sprite_t*sprite); +/** + * \brief Affiche tous les paramètres du sprite + * \param sprite + */ void print_sprite(sprite_t*sprite); +/** + * \brief La fonction qui détecte si deux sprites sont en collision + * \param sp2 et sp1 les deux sprites + * \return 1 si les sprites se collisionnent, 0 sinon + */ int sprites_collide(sprite_t *sp2, sprite_t *sp1); +/** + * \brief La fonction qui fait disparaitre les deux sprites si ils se sont touchés + * \param sp2 et sp1 les deux sprites + */ void handle_sprites_collision(sprite_t *sp1, sprite_t *sp2); +/** + * \brief La fonction qui fait disparaitre sp2 si les deux sprites se sont touchés + * \param sp2 et sp1 les deux sprites + */ void handle_sprites_collision_damage_1sprite(sprite_t *sp1, sprite_t *sp2); #endif \ No newline at end of file diff --git a/code/world_data.h b/code/world_data.h index 1369c46..7e93a52 100644 --- a/code/world_data.h +++ b/code/world_data.h @@ -13,13 +13,12 @@ * \brief Représentation du monde du jeu */ struct world_s{ - soldier_t soldier; - enemy_t enemy; - supplying_t supplying; - round_t rounds; + soldier_t soldier; /*!< Soldat */ + supplying_t supplying; /*!< Avion de ravitaillement */ + round_t rounds; /*!< Manche */ int gameover; /*!< Entier pour la fin du jeu */ int score; /*!< Score du joueur */ - int highScore; + int highScore; /*!< Score maximun*/ }; /** @@ -27,30 +26,78 @@ struct world_s{ */ typedef struct world_s world_t; +/** + * \brief La fonction initialise les données du monde du jeu + * \param world les données du monde + */ void init_data(world_t * world); +/** + * \brief Charge la sauvegarde + */ int* load_save(); +/** + * \brief Sauvegarde la partie + * \param world les données du monde + */ void save_game(world_t *world); +/** + * \brief La fonction gère les évènements ayant eu lieu et qui n'ont pas encore été traités + * \param event paramètre qui contient les événements + * \param world les données du monde + */ void handle_events(SDL_Event *event,world_t *world); + +/** + * \brief La fonction met à jour les données en tenant compte de la physique du monde + * \param world les données du monde + */ void refresh_data(world_t *world); +/** + * \brief La fonction indique si le jeu est fini en fonction des données du monde + * \param world les données du monde + * \return 1 si le jeu est fini, 0 sinon + */ int is_game_over(world_t *world); -void print_sprite(sprite_t*sprite); - +/** + * \brief Indique si le joueur se releve + * \param world les données du monde + */ void raise(world_t *world); +/** + * \brief Indique si le joueur va vers la droite + * \param world les données du monde + */ void toTheRight(world_t *world); +/** + * \brief Indique si le joueur va vers la gauche + * \param world les données du monde + */ void toTheLeft(world_t *world); +/** + * \brief Indique si le joueur regarde vers le haut + * \param world les données du monde + */ void toLookUp(world_t *world); +/** + * \brief Indique si le joueur saute + * \param world les données du monde + */ void toJump(world_t *world); +/** + * \brief Indique si le joueur est accroupie + * \param world les données du monde + */ void toCrouch(world_t *world); #endif diff --git a/data/save.txt b/data/save.txt index cb5613e..f2140de 100644 --- a/data/save.txt +++ b/data/save.txt @@ -1,11 +1,10 @@ /Vie du joueur au début -30 +15 /Nombre d'ennemis au début -5 +13 /Nombre d'ennemis en plus à chaque manche 1 /Numéro de la manche -5 +13 /Meilleur score 136 - -- GitLab