Skip to content
Snippets Groups Projects
Commit 390d6836 authored by antoinemeyer5's avatar antoinemeyer5
Browse files

perte de vie du pompier par brulure fonctionnelle, invisibilite de 5 secondes apres chaque touche

parent 70ad48dc
Branches
No related tags found
No related merge requests found
...@@ -15,6 +15,7 @@ void initPlayer(){ ...@@ -15,6 +15,7 @@ void initPlayer(){
player.HPMax = 3; player.HPMax = 3;
player.currentHP = player.HPMax; player.currentHP = player.HPMax;
player.invisible = 0; player.invisible = 0;
player.invisibleTime = 5;
} }
int giveCaseBelowPosition(int x, int y){ int giveCaseBelowPosition(int x, int y){
...@@ -42,9 +43,11 @@ int checkCollisionsTypeGround(int dot1, int dot2, int typeGround){ ...@@ -42,9 +43,11 @@ int checkCollisionsTypeGround(int dot1, int dot2, int typeGround){
} }
void checkCollisionsFire(int dot1, int dot2){ void checkCollisionsFire(int dot1, int dot2){
if((dot1==1 || dot2==1) && player.invisible==0){ if(player.invisible==0 && (dot1==1 || dot2==1) && player.currentHP>0){
player.currentHP = player.currentHP - 1; player.currentHP = player.currentHP - 1;
player.invisible = 1; player.invisible = 1;
player.timeLastHitFire = (int)timer/1000;
printf("touche\n");
} }
} }
...@@ -162,6 +165,12 @@ void manageMovement(){ ...@@ -162,6 +165,12 @@ void manageMovement(){
player.direction = PLAYER_RIGHT; player.direction = PLAYER_RIGHT;
} }
else player.isMoving = 0; else player.isMoving = 0;
//
if(player.invisible==1){
if((int)timer/1000 - player.timeLastHitFire > player.invisibleTime){
player.invisible = 0;
}
}
} }
int selectStateHover(){ int selectStateHover(){
...@@ -173,7 +182,6 @@ int selectStateHover(){ ...@@ -173,7 +182,6 @@ int selectStateHover(){
return stateHover; return stateHover;
} }
void pourWater(int x, int y){ void pourWater(int x, int y){
int onFire = searchFire(fireList, x, y); int onFire = searchFire(fireList, x, y);
if(player.currentWater>0){ if(player.currentWater>0){
......
...@@ -22,6 +22,8 @@ typedef struct player{ ...@@ -22,6 +22,8 @@ typedef struct player{
int HPMax; int HPMax;
int currentHP; int currentHP;
int invisible; int invisible;
int invisibleTime;
int timeLastHitFire;
} player_t; } player_t;
extern player_t player; extern player_t player;
......
...@@ -12,6 +12,7 @@ extern SDL_Window *window; ...@@ -12,6 +12,7 @@ extern SDL_Window *window;
extern SDL_Renderer *renderer; extern SDL_Renderer *renderer;
extern SDL_DisplayMode screenDimension; extern SDL_DisplayMode screenDimension;
extern SDL_Rect buttonRect; extern SDL_Rect buttonRect;
extern float timer;
void drawHover(int x, int y); void drawHover(int x, int y);
void mainLoop(); void mainLoop();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment