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 @@
#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
......
......@@ -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);
......
......@@ -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
......@@ -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
......
/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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment