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