Skip to content
Snippets Groups Projects
Commit 8163b57a authored by suck5u's avatar suck5u
Browse files
parents 841c36cd 9ca75ef1
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
19
10
/Nombre d'ennemis au début
43
3
/Nombre d'ennemis en plus à chaque manche
1
/Numéro de la manche
8
0
/Meilleur score
143
0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment