Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
ProgAvancee
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SUCK Hugo
ProgAvancee
Commits
8163b57a
Commit
8163b57a
authored
4 years ago
by
suck5u
Browse files
Options
Downloads
Plain Diff
Merge branch 'master' of
https://gitlab.univ-lorraine.fr/suck5u/progavancee
merge
parents
841c36cd
9ca75ef1
No related branches found
No related tags found
No related merge requests found
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
code/constant.h
+22
-13
22 additions, 13 deletions
code/constant.h
code/soldier.h
+57
-16
57 additions, 16 deletions
code/soldier.h
code/sprite.h
+43
-0
43 additions, 0 deletions
code/sprite.h
code/world_data.h
+54
-7
54 additions, 7 deletions
code/world_data.h
data/save.txt
+4
-4
4 additions, 4 deletions
data/save.txt
with
180 additions
and
40 deletions
code/constant.h
+
22
−
13
View file @
8163b57a
...
...
@@ -35,7 +35,7 @@
#define SOLDIER_HP 10
/**
* \brief Valeur de l'inrémentation des ennemis à cha
u
qe manche
* \brief Valeur de l'inrémentation des ennemis à chaq
u
e manche
*/
#define INCREMENTATION_ENEMIES 3
...
...
@@ -72,7 +72,7 @@
#define PLANE_SIZE 50
/**
* \brief Taille d
e l'avion de ravitaillement
* \brief Taille d
u 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
f
orce de gravité
* \brief
F
orce 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 accro
up
i
* \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
...
...
This diff is collapsed.
Click to expand it.
code/soldier.h
+
57
−
16
View file @
8163b57a
...
...
@@ -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 d
u soldat
* \brief Type qui correspond au paramètre d
e 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
);
...
...
This diff is collapsed.
Click to expand it.
code/sprite.h
+
43
−
0
View file @
8163b57a
...
...
@@ -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
This diff is collapsed.
Click to expand it.
code/world_data.h
+
54
−
7
View file @
8163b57a
...
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
data/save.txt
+
4
−
4
View file @
8163b57a
/Vie du joueur au début
1
9
1
0
/Nombre d'ennemis au début
4
3
3
/Nombre d'ennemis en plus à chaque manche
1
/Numéro de la manche
8
0
/Meilleur score
143
0
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment