diff --git a/travail_de_groupe/chef_oeuvre/src/gest_event.c b/travail_de_groupe/chef_oeuvre/src/gest_event.c index 92749b566d57083cf004fb92a5d554e70ce79845..63661ab57ce3b5457d4855b9cb3adbd900e7f4a2 100644 --- a/travail_de_groupe/chef_oeuvre/src/gest_event.c +++ b/travail_de_groupe/chef_oeuvre/src/gest_event.c @@ -53,7 +53,6 @@ void manageMenu(){ continue; } } - manageMovement(); SDL_Delay(5); } @@ -140,7 +139,7 @@ void manageGame(){ continue; } } - manageMovement(); + updatePlayer(); SDL_Delay(5); } @@ -149,6 +148,7 @@ void *eventLoop(void *arg){ switch(gameState){ case MENU : manageMenu();break; case GAME : manageGame();break; + case LOSE : manageMenu();break; default:printf("game state fault");break; } } diff --git a/travail_de_groupe/chef_oeuvre/src/main.h b/travail_de_groupe/chef_oeuvre/src/main.h index a898cd4a75c5e164e4781f6a28deec163f31c3b1..3604248fe8252e88ac6148f5c29f5e03f17cfe1c 100644 --- a/travail_de_groupe/chef_oeuvre/src/main.h +++ b/travail_de_groupe/chef_oeuvre/src/main.h @@ -23,6 +23,7 @@ #define MENU 0 #define GAME 1 +#define LOSE 2 extern int running; extern int gameState; diff --git a/travail_de_groupe/chef_oeuvre/src/player.c b/travail_de_groupe/chef_oeuvre/src/player.c index a722ebbb7dbefb4a4dd61dd59757a50e20193d90..b1d7b73a0870d5fe59f28bf9ffecbf55bf782e5b 100644 --- a/travail_de_groupe/chef_oeuvre/src/player.c +++ b/travail_de_groupe/chef_oeuvre/src/player.c @@ -200,4 +200,11 @@ void fillWater(int x, int y){ } } +void updatePlayer(){ + if (player.currentHP <= 0){ + gameState = LOSE; + } + manageMovement(); +} + diff --git a/travail_de_groupe/chef_oeuvre/src/player.h b/travail_de_groupe/chef_oeuvre/src/player.h index b0b2253d9de191eb31765e0829459949a217cfc4..7bcdbb86448aca0932476b19c6daea03c6ac1452 100644 --- a/travail_de_groupe/chef_oeuvre/src/player.h +++ b/travail_de_groupe/chef_oeuvre/src/player.h @@ -34,5 +34,6 @@ int selectStateHover(); void pourWater(int, int); void fillWater(int, int); int giveCaseBelowPosition(int, int); +void updatePlayer(); #endif \ No newline at end of file diff --git a/travail_de_groupe/chef_oeuvre/src/render.c b/travail_de_groupe/chef_oeuvre/src/render.c index b633e43b7b8aa4b64aa6db6fcc7ce424accbeae7..d97ce24dc9b9a98eb3914a333560066b27dec633 100644 --- a/travail_de_groupe/chef_oeuvre/src/render.c +++ b/travail_de_groupe/chef_oeuvre/src/render.c @@ -65,7 +65,7 @@ void createWindow(){ SDL_GetCurrentDisplayMode(0, &screenDimension); - window = SDL_CreateWindow("Game Of Life", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, screenDimension.w, screenDimension.h, SDL_WINDOW_INPUT_GRABBED | SDL_WINDOW_SHOWN | SDL_WINDOW_FULLSCREEN_DESKTOP); + window = SDL_CreateWindow("Mat the Firefighter", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, screenDimension.w, screenDimension.h, SDL_WINDOW_INPUT_GRABBED | SDL_WINDOW_SHOWN | SDL_WINDOW_FULLSCREEN_DESKTOP); if (window == NULL){ printf("Couldn't create window");