From 6bdecc324f15d29d1218fb3373aa1092ea439e82 Mon Sep 17 00:00:00 2001 From: belkhiritaha <belkhiri.taha53@gmail.com> Date: Thu, 23 Jun 2022 15:35:21 +0200 Subject: [PATCH] ajout mort du joueur --- travail_de_groupe/chef_oeuvre/src/gest_event.c | 4 ++-- travail_de_groupe/chef_oeuvre/src/main.h | 1 + travail_de_groupe/chef_oeuvre/src/player.c | 7 +++++++ travail_de_groupe/chef_oeuvre/src/player.h | 1 + travail_de_groupe/chef_oeuvre/src/render.c | 2 +- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/travail_de_groupe/chef_oeuvre/src/gest_event.c b/travail_de_groupe/chef_oeuvre/src/gest_event.c index 92749b5..63661ab 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 a898cd4..3604248 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 a722ebb..b1d7b73 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 b0b2253..7bcdbb8 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 b633e43..d97ce24 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"); -- GitLab