From 0383eb7e8ec1fcd92d8fd2c6846d5e9ab2d08f17 Mon Sep 17 00:00:00 2001
From: Taha Belkhiri <belkhiri.taha53@gmail.com>
Date: Wed, 29 Jun 2022 14:09:35 +0200
Subject: [PATCH] fix du flickering

---
 .../jeu_appren_par_renfo/src/gest_event.c       |  8 ++++++--
 .../jeu_appren_par_renfo/src/player.c           |  8 ++++----
 .../jeu_appren_par_renfo/src/player.h           |  4 ++--
 .../jeu_appren_par_renfo/src/render.c           | 17 +++++++++++++----
 4 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/gest_event.c b/travail_de_groupe/jeu_appren_par_renfo/src/gest_event.c
index 34ff219..b014b4c 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/gest_event.c
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/gest_event.c
@@ -134,7 +134,12 @@ void gestGame()
         case SDL_MOUSEBUTTONDOWN:
             if (event.button.button == SDL_BUTTON_LEFT)
             {
-                player.isHitting = 1;
+                if (player.isHitting){
+                    player.isHitting = 0;
+                }
+                else {
+                    player.isHitting = 1;
+                }
             }
             break;
 
@@ -149,7 +154,6 @@ void gestGame()
             break;
         }
     }
-    managePlayer();
     SDL_Delay(5);
 }
 
diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/player.c b/travail_de_groupe/jeu_appren_par_renfo/src/player.c
index f28dfe0..9db7c0d 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/player.c
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/player.c
@@ -18,7 +18,7 @@ void initPlayer()
     ennemy.x = 25 * BLOCK_SIZE;
     ennemy.y = 5 * BLOCK_SIZE;
     ennemy.angle = -pi;
-    player.speed = 1;
+    player.speed = 100;
     player.isMoving = 0;
     player.HPMax = 3;
     player.currentHP = player.HPMax;
@@ -79,16 +79,16 @@ void hitBall()
 
         int rxNet, ryNet;
         float distanceNet;
+        if (player.isHitting)
+        {
         castSingleRay(player.angle, &distanceWall, &distanceNet, &rxWall, &ryWall, &rxNet, &ryNet);
         printf("rayWall: %d %d\n", rxWall/BLOCK_SIZE, ryWall/BLOCK_SIZE);
         printf("distanceWall: %f\n", distanceWall);
 
         printf("rayNet: %d %d\n", rxNet/BLOCK_SIZE, ryNet/BLOCK_SIZE);
         printf("distanceNet: %f\n", distanceNet);
-        if (rxWall > MAP_WIDTH/2)
-        {
             // printf("hit\n");
-            if (player.isHitting)
+            if (rxWall > MAP_WIDTH/2)
             {
                 freeIntList(landingPoint);
                 freeIntList(lastHitPoint);
diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/player.h b/travail_de_groupe/jeu_appren_par_renfo/src/player.h
index 6e59c1a..ebe9a2d 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/player.h
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/player.h
@@ -11,9 +11,9 @@
 #define ENTITIES_RIGHT 3
 
 #define HIT_RANGE 2
-#define HIT_FORCE 1
+#define HIT_FORCE 20
 
-#define MOVEMENT_SPEED 2
+#define MOVEMENT_SPEED 20
 typedef struct player{
     float x;
     float y;
diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/render.c b/travail_de_groupe/jeu_appren_par_renfo/src/render.c
index 045b791..9b1ffdb 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/render.c
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/render.c
@@ -993,10 +993,18 @@ void drawGame()
     SDL_RenderClear(renderer);
     drawSkyAndGround();
     castRays(map);
-    drawHorizentalRays();
-    drawEnnemy();
-    drawVerticalRays();
-    drawBall();
+    if (ball.x < MAP_WIDTH * BLOCK_SIZE/2){
+        drawHorizentalRays();
+        drawEnnemy();
+        drawVerticalRays();
+        drawBall();
+    }
+    else {
+        drawHorizentalRays();
+        drawBall();
+        drawVerticalRays();
+        drawEnnemy();
+    }
     drawMap2D(map);
     drawFPS();
     drawInfosPlayer();
@@ -1046,6 +1054,7 @@ void mainLoop()
                 break;
             case GAME:
                 drawGame();
+                managePlayer();
                 break;
             }
         }
-- 
GitLab