Skip to content
Snippets Groups Projects
Commit 0d465f02 authored by belkhiritaha's avatar belkhiritaha
Browse files

ecran de fin fonctionnel

parent 75cc7fd3
No related branches found
No related tags found
No related merge requests found
...@@ -56,6 +56,62 @@ void manageMenu(){ ...@@ -56,6 +56,62 @@ void manageMenu(){
SDL_Delay(5); SDL_Delay(5);
} }
void manageLost(){
SDL_Event event;
while (SDL_PollEvent(&event)){
switch(event.type)
{
case SDL_QUIT:
running = 0;
break;
case SDL_KEYUP:
switch (event.key.keysym.sym)
{
case SDLK_ESCAPE:
running = 0;
continue;
default:
continue;
}
break;
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{
case SDLK_ESCAPE:
running = 0;
continue;
default:
continue;
}
break;
case SDL_MOUSEMOTION:
mousePosition.x = event.motion.x;
mousePosition.y = event.motion.y;
continue;
case SDL_MOUSEBUTTONDOWN:
if (SDL_PointInRect(&mousePosition, &playAgainButtonRect)){
initAll();
gameState = GAME;
}
if (SDL_PointInRect(&mousePosition, &quitButtonRect)){
running = 0;
}
break;
default:
continue;
}
}
SDL_Delay(5);
}
void manageGame(){ void manageGame(){
SDL_Event event; SDL_Event event;
while (SDL_PollEvent(&event)){ while (SDL_PollEvent(&event)){
...@@ -148,7 +204,7 @@ void *eventLoop(void *arg){ ...@@ -148,7 +204,7 @@ void *eventLoop(void *arg){
switch(gameState){ switch(gameState){
case MENU : manageMenu();break; case MENU : manageMenu();break;
case GAME : manageGame();break; case GAME : manageGame();break;
case LOSE : manageMenu();break; case LOSE : manageLost();break;
default:printf("game state fault");break; default:printf("game state fault");break;
} }
} }
......
...@@ -207,4 +207,9 @@ void updatePlayer(){ ...@@ -207,4 +207,9 @@ void updatePlayer(){
manageMovement(); manageMovement();
} }
void initAll(){
initFire();
initPlayer();
}
...@@ -35,5 +35,6 @@ void pourWater(int, int); ...@@ -35,5 +35,6 @@ void pourWater(int, int);
void fillWater(int, int); void fillWater(int, int);
int giveCaseBelowPosition(int, int); int giveCaseBelowPosition(int, int);
void updatePlayer(); void updatePlayer();
void initAll();
#endif #endif
\ No newline at end of file
...@@ -10,6 +10,8 @@ TTF_Font *robotoFont; ...@@ -10,6 +10,8 @@ TTF_Font *robotoFont;
SDL_DisplayMode screenDimension; SDL_DisplayMode screenDimension;
SDL_Rect buttonRect; SDL_Rect buttonRect;
SDL_Rect playAgainButtonRect;
SDL_Rect quitButtonRect;
SDL_Surface * grassSurface; SDL_Surface * grassSurface;
SDL_Texture * grassTexture; SDL_Texture * grassTexture;
...@@ -329,8 +331,9 @@ void drawLost(){ ...@@ -329,8 +331,9 @@ void drawLost(){
rect.x = 0; rect.x = 0;
rect.y = 0; rect.y = 0;
SDL_RenderCopy(renderer, backgroundLostTexture, NULL, &rect); SDL_RenderCopy(renderer, backgroundLostTexture, NULL, &rect);
SDL_RenderCopy(renderer, playAgainButtonTexture, NULL, &rect); SDL_RenderCopy(renderer, playAgainButtonHoverTexture, NULL, &rect);
SDL_RenderCopy(renderer, quitButtonTexture, NULL, &rect); SDL_RenderCopy(renderer, quitButtonHoverTexture, NULL, &rect);
SDL_RenderCopy(renderer, playAgainButtonHoverTexture, NULL, &rect);
SDL_RenderPresent(renderer); SDL_RenderPresent(renderer);
} }
...@@ -380,6 +383,9 @@ void mainLoop(){ ...@@ -380,6 +383,9 @@ void mainLoop(){
playAgainButtonSurface = IMG_Load("Res/buttonPlayAgain.png"); playAgainButtonSurface = IMG_Load("Res/buttonPlayAgain.png");
playAgainButtonTexture = SDL_CreateTextureFromSurface(renderer, playAgainButtonSurface); playAgainButtonTexture = SDL_CreateTextureFromSurface(renderer, playAgainButtonSurface);
playAgainButtonHoverSurface = IMG_Load("Res/buttonPlayAgainHover.png");
playAgainButtonHoverTexture = SDL_CreateTextureFromSurface(renderer, playAgainButtonHoverSurface);
fireSurface = IMG_Load("Res/fire_spritesheet.png"); fireSurface = IMG_Load("Res/fire_spritesheet.png");
fireTexture = SDL_CreateTextureFromSurface(renderer, fireSurface); fireTexture = SDL_CreateTextureFromSurface(renderer, fireSurface);
...@@ -415,7 +421,17 @@ void mainLoop(){ ...@@ -415,7 +421,17 @@ void mainLoop(){
SDL_FreeSurface(playAgainButtonSurface); SDL_FreeSurface(playAgainButtonSurface);
SDL_FreeSurface(quitButtonSurface); SDL_FreeSurface(quitButtonSurface);
SDL_FreeSurface(quitButtonHoverSurface); SDL_FreeSurface(quitButtonHoverSurface);
SDL_FreeSurface(playAgainButtonHoverSurface);
playAgainButtonRect.x = (screenDimension.w * 700)/1920;
playAgainButtonRect.y = (screenDimension.h * 615)/1080;
playAgainButtonRect.w = (screenDimension.w * 400)/1920;
playAgainButtonRect.h = (screenDimension.h * 130)/1080;
quitButtonRect.x = playAgainButtonRect.x;
quitButtonRect.w = playAgainButtonRect.w;
quitButtonRect.y = (screenDimension.h * 887)/1080;
quitButtonRect.h = playAgainButtonRect.h;
unsigned int a = SDL_GetTicks(); unsigned int a = SDL_GetTicks();
unsigned int b = SDL_GetTicks(); unsigned int b = SDL_GetTicks();
......
...@@ -12,6 +12,8 @@ extern SDL_Window *window; ...@@ -12,6 +12,8 @@ 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 SDL_Rect playAgainButtonRect;
extern SDL_Rect quitButtonRect;
extern float timer; extern float timer;
void drawHover(int x, int y); void drawHover(int x, int y);
......
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