From d2d9d4bf4190597d00deda71755cb3d5c9a8b70e Mon Sep 17 00:00:00 2001
From: antoinemeyer5 <antoine.meyer54@gmail.com>
Date: Wed, 22 Jun 2022 16:54:23 +0200
Subject: [PATCH] eteindre les feux

---
 .../chef_oeuvre/src/gest_event.c              |  8 ++++++--
 travail_de_groupe/chef_oeuvre/src/player.c    | 19 +++++++++++++------
 travail_de_groupe/chef_oeuvre/src/player.h    |  4 +++-
 travail_de_groupe/chef_oeuvre/src/render.c    |  1 -
 4 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/travail_de_groupe/chef_oeuvre/src/gest_event.c b/travail_de_groupe/chef_oeuvre/src/gest_event.c
index 7ea08e5..caad831 100644
--- a/travail_de_groupe/chef_oeuvre/src/gest_event.c
+++ b/travail_de_groupe/chef_oeuvre/src/gest_event.c
@@ -123,10 +123,14 @@ void manageGame(){
                     break;
                 
                 case SDL_MOUSEMOTION:
-                        mousePosition.x = (event.motion.x - (screenDimension.w - (MAPSIZE * CELLSIZE)) / 2) / CELLSIZE;
-                        mousePosition.y = (event.motion.y - 0) / CELLSIZE;
+                    mousePosition.x = (event.motion.x - (screenDimension.w - (MAPSIZE * CELLSIZE)) / 2) / CELLSIZE;
+                    mousePosition.y = (event.motion.y - 0) / CELLSIZE;
                     continue;
 
+                case SDL_MOUSEBUTTONDOWN:
+                    pourWater(mousePosition.x, mousePosition.y);
+                    break;
+
                 default:
                     continue;
             }
diff --git a/travail_de_groupe/chef_oeuvre/src/player.c b/travail_de_groupe/chef_oeuvre/src/player.c
index d2112eb..cc5135b 100644
--- a/travail_de_groupe/chef_oeuvre/src/player.c
+++ b/travail_de_groupe/chef_oeuvre/src/player.c
@@ -4,11 +4,12 @@ player_t player;
 
 
 void initPlayer(){
-    player.x = 18*32;
-    player.y = 0;
+    player.x = (MAPSIZE/2)*CELLSIZE;
+    player.y = (MAPSIZE/2)*CELLSIZE;
     player.w = CELLSIZE*0.8;
     player.h = CELLSIZE*0.8;
-    player.waterLevel = 3;
+    player.waterMax = 3;
+    player.currentWater = player.waterMax;
     player.speed = 1;
     player.isMoving = 0;
 }
@@ -134,9 +135,15 @@ int selectStateHover(){
 }
 
 
-void pourWater(){
-    player.waterLevel = player.waterLevel - 1;
-    
+void pourWater(int x, int y){
+    int onFire = searchFire(fireList, x, y);     
+    if(player.currentWater>0){
+        //downgrade the cliqued fire
+        if(onFire == 1 && selectStateHover() == 1){ 
+            fireList = deleteFire (fireList, x, y); 
+        }
+        player.currentWater = player.currentWater - 1;
+    }
 }
 
 
diff --git a/travail_de_groupe/chef_oeuvre/src/player.h b/travail_de_groupe/chef_oeuvre/src/player.h
index 8dda417..a8bcffb 100644
--- a/travail_de_groupe/chef_oeuvre/src/player.h
+++ b/travail_de_groupe/chef_oeuvre/src/player.h
@@ -14,7 +14,8 @@ typedef struct player{
     int y;
     int w;
     int h;
-    int waterLevel;
+    int currentWater;
+    int waterMax;
     int speed;
     int isMoving;
 } player_t;
@@ -24,5 +25,6 @@ extern player_t player;
 void initPlayer();
 void manageMovement();
 int selectStateHover();
+void pourWater(int, int);
 
 #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 9d5c1ba..2a4389c 100644
--- a/travail_de_groupe/chef_oeuvre/src/render.c
+++ b/travail_de_groupe/chef_oeuvre/src/render.c
@@ -153,7 +153,6 @@ void drawFire(){
     srcRect.x = srcRect.w * (SDL_GetTicks()/200 % 8);
     srcRect.y= 0;
     while (cour != NULL){
-        printf("%p %d %d\n", (cour->fire), (cour->fire).x, (cour->fire).x);
         rect.h = CELLSIZE;
         rect.w = CELLSIZE;
         rect.x = (cour->fire).x * CELLSIZE + (screenDimension.w - (MAPSIZE * CELLSIZE)) / 2;
-- 
GitLab