Skip to content
Snippets Groups Projects
Commit 18053fee authored by bohan2u's avatar bohan2u
Browse files

Ajout d un peu de commentaire

parent a7fb5bf2
No related branches found
No related tags found
No related merge requests found
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#define SOLDIER_HP 10 #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 #define INCREMENTATION_ENEMIES 3
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
#define PLANE_SIZE 50 #define PLANE_SIZE 50
/** /**
* \brief Taille de l'avion de ravitaillement * \brief Taille du power up
*/ */
#define POWERUP_SIZE 50 #define POWERUP_SIZE 50
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
/** /**
* \brief Vitesse d'un ennemi de type 3 * \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 * \brief Vitesse d'un ennemi de type 2
...@@ -116,11 +116,6 @@ ...@@ -116,11 +116,6 @@
*/ */
#define SOLDIER_SPEED 2 #define SOLDIER_SPEED 2
/**
* \brief Vitesse du accroupie
*/
#define SOLDIER_SPEED_CTRL 0.5f
/** /**
* \brief Hauteur du soldat accroupi * \brief Hauteur du soldat accroupi
*/ */
...@@ -156,29 +151,43 @@ ...@@ -156,29 +151,43 @@
*/ */
#define TEXT_HEIGHT #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 #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 #define V_GRAV -3
/**
* \brief Vitesse de saut
*/
#define V_SAUT 4 #define V_SAUT 4
/**
* \brief Nombre de balle dans le chargeur
*/
#define NB_BULLET 30 #define NB_BULLET 30
/**
* \brief Temps entre chaque balle
*/
#define TIME_BULLET 25 #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 #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 #define HEALTH_BONUS 5
......
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
struct bullet_s{ struct bullet_s{
sprite_t sprite; sprite_t sprite; /*!<Sprite de la balle */
int shoot; int shoot; /*!<Indique si la balle est tirée */
char sens; char sens; /*!<Indique le sens de la balle */
SDL_Rect DestBullet; 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; typedef struct bullet_s bullet_t;
...@@ -21,46 +21,87 @@ typedef struct bullet_s bullet_t; ...@@ -21,46 +21,87 @@ typedef struct bullet_s bullet_t;
* \brief Paramètre du soldat * \brief Paramètre du soldat
*/ */
struct soldier_s{ struct soldier_s{
sprite_t sprite; sprite_t sprite; /*!<Sprite du soldat */
int hp; /*!<Point de vie */ int hp; /*!<Point de vie */
int state_jump; int state_jump; /*!<Indique si le soldat saute */
int is_walking; int is_walking; /*!<Indique si le soldat marche */
int is_crouching; int is_crouching; /*!<Indique si le soldat est accroupie */
int is_looking_up; int is_looking_up; /*!<Indique si le soldat regarde vers le haut */
int direction; int direction; /*!<Indique la direction du soldat */
int walk_counter; int walk_counter; /*!<Compteur pour la marche du soldat */
int jump_counter; int jump_counter; /*!<Compteur pour le saut du soldat */
int wait_time_walk; int wait_time_walk;
SDL_Rect DestSoldier; SDL_Rect DestSoldier;
bullet_t charger[NB_BULLET]; bullet_t charger[NB_BULLET]; /*!<Chargeur de l arme du soldat */
int time_bullet; int time_bullet; /*!<Temps entre chaque balle */
int time_reload; int time_reload; /*!<Temps de rechargement*/
int present_bullet; int present_bullet; /*!<Indique la balle presente dans l arme*/
}; };
/** /**
* \brief Type qui correspond au paramètre du soldat * \brief Type qui correspond au paramètre du soldat
*/ */
typedef struct soldier_s soldier_t; 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); void init_soldier(soldier_t *soldier, int hp);
/**
* \brief Permet au soldat de sauter
* \param soldat
*/
void jump(soldier_t *soldier); void jump(soldier_t *soldier);
/**
* \brief Initialise le chargeur du soldat
* \param soldat
*/
void init_bullet(soldier_t *soldier); void init_bullet(soldier_t *soldier);
/**
* \brief Permet au soldat de tirer
* \param soldat
*/
void shoot(soldier_t *soldier); void shoot(soldier_t *soldier);
/**
* \brief Permet au balle de continuer d avancer apres avoir etait tirer
* \param soldat
*/
void shootAfterE(soldier_t *soldier); void shootAfterE(soldier_t *soldier);
/**
* \brief Permet au soldat de marcher vers la droite
* \param soldat
*/
void walk_right(soldier_t *soldier); void walk_right(soldier_t *soldier);
/**
* \brief Permet au soldat de marcher vers la gauche
* \param soldat
*/
void walk_left(soldier_t *soldier); void walk_left(soldier_t *soldier);
/**
* \brief Set le direction de la balle vers la droite
* \param soldat
*/
void setBulletD(soldier_t *soldier); void setBulletD(soldier_t *soldier);
/**
* \brief Set le direction de la balle vers la gauche
* \param soldat
*/
void setBulletG(soldier_t *soldier); void setBulletG(soldier_t *soldier);
/**
* \brief Set le direction de la balle vers le haut
* \param soldat
*/
void setBulletH(soldier_t *soldier); void setBulletH(soldier_t *soldier);
......
...@@ -24,22 +24,65 @@ struct sprite_s{ ...@@ -24,22 +24,65 @@ struct sprite_s{
*/ */
typedef struct sprite_s sprite_t; 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); 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); void set_visible(sprite_t *sprite);
/**
* \brief Rend invisible le sprite
* \param sprite
*/
void set_invisible(sprite_t *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); 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); int over_right (sprite_t*sprite);
/**
* \brief Affiche tous les paramètres du sprite
* \param sprite
*/
void print_sprite(sprite_t*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); 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); 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); void handle_sprites_collision_damage_1sprite(sprite_t *sp1, sprite_t *sp2);
#endif #endif
\ No newline at end of file
...@@ -13,13 +13,12 @@ ...@@ -13,13 +13,12 @@
* \brief Représentation du monde du jeu * \brief Représentation du monde du jeu
*/ */
struct world_s{ struct world_s{
soldier_t soldier; soldier_t soldier; /*!< Soldat */
enemy_t enemy; supplying_t supplying; /*!< Avion de ravitaillement */
supplying_t supplying; round_t rounds; /*!< Manche */
round_t rounds;
int gameover; /*!< Entier pour la fin du jeu */ int gameover; /*!< Entier pour la fin du jeu */
int score; /*!< Score du joueur */ int score; /*!< Score du joueur */
int highScore; int highScore; /*!< Score maximun*/
}; };
/** /**
...@@ -27,30 +26,78 @@ struct world_s{ ...@@ -27,30 +26,78 @@ struct world_s{
*/ */
typedef struct world_s world_t; 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); void init_data(world_t * world);
/**
* \brief Charge la sauvegarde
*/
int* load_save(); int* load_save();
/**
* \brief Sauvegarde la partie
* \param world les données du monde
*/
void save_game(world_t *world); 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); 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); 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); 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); 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); 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); 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); void toLookUp(world_t *world);
/**
* \brief Indique si le joueur saute
* \param world les données du monde
*/
void toJump(world_t *world); void toJump(world_t *world);
/**
* \brief Indique si le joueur est accroupie
* \param world les données du monde
*/
void toCrouch(world_t *world); void toCrouch(world_t *world);
#endif #endif
......
/Vie du joueur au début /Vie du joueur au début
30 15
/Nombre d'ennemis au début /Nombre d'ennemis au début
5 13
/Nombre d'ennemis en plus à chaque manche /Nombre d'ennemis en plus à chaque manche
1 1
/Numéro de la manche /Numéro de la manche
5 13
/Meilleur score /Meilleur score
136 136
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment