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 d41e8de5543d1941dcb9d576eda3efb7c2aacf5e..2a198c89da791001b9060211f7e864c171a990eb 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/render.c
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/render.c
@@ -421,8 +421,8 @@ void castRays(int map[][MAP_WIDTH]){
 
 void drawEnnemy(){
     float ennemyAngle = atan2((ennemy.y + ennemy.w/2)  - (player.y + player.w/2) , (ennemy.x + ennemy.w/2) - (player.x + player.w/2));
-    if (ennemyAngle < 0) ennemyAngle += 2*pi;
-    if (ennemyAngle > 2*pi) ennemyAngle -= 2*pi;
+    //if (ennemyAngle < 0) ennemyAngle += 2*pi;
+    //if (ennemyAngle > 2*pi) ennemyAngle -= 2*pi;
     float ennemyDistance = sqrt((ennemy.x - player.x)*(ennemy.x - player.x) + (ennemy.y - player.y)*(ennemy.y - player.y)) * BLOCK_SIZE;
     float ennemyBaseWidth = BLOCK_SIZE;
     float ennemyDistanceX = ennemyDistance * cos(ennemyAngle - player.angle) * BLOCK_SIZE;
@@ -430,11 +430,29 @@ void drawEnnemy(){
     float scaledEnnemyWidth = ennemyBaseWidth / sqrt(3);
     int ennemyWidth = 50;
     int ennemyHeight = 200;
+    float angleMin = player.angle - (FOV_ANGLE * DR)/2;
+    //if (angleMin > 2*pi) angleMin -= 2*pi;
+    float angleMax = player.angle + (FOV_ANGLE * DR)/2;
+    //if (angleMax < 0) angleMax += 2*pi;
+    if (angleMin < 0){
+        angleMin += 2*pi;
+        angleMax += 2*pi;
+    }
+    if (angleMax > 2*pi){
+        angleMax -= 2*pi;
+        angleMin -= 2*pi;
+        //ballAngle -= 2*pi;
+    }
+    if (angleMax > 0 && angleMin > 0 && ennemyAngle < 0){
+        ennemyAngle += 2*pi;
+    }
 
+    //printf("ennemy angle: %f player angle: %f\n", ennemyAngle * RD, player.angle * RD);
+    //printf("limit angles: %f %f\n", angleMin * RD, angleMax * RD);
     //printf("%f %f\n", ennemyAngle, player.angle - (FOV_ANGLE)/2 * DR);
     //printf("%f\n", player.angle * RD);
 
-    if (ennemyAngle >= player.angle - (FOV_ANGLE)/2 * DR && ennemyAngle <= player.angle + (FOV_ANGLE)/2 * DR){
+    if (ennemyAngle >= angleMin && ennemyAngle <= angleMax){
         //printf("player angle %f\n", player.angle * RD);
         //printf("ennemy angle %f\n", ennemyAngle * RD);
         rect.x = screenDimension.w/2 + (screenDimension.w * tan(ennemyAngle - player.angle)) * sqrt(3) * 0.5;
@@ -470,10 +488,15 @@ void drawEnnemy(){
     }
 }
 
+int isAngleInRange(float angle, float min, float max){
+
+    return ((angle >= min && angle <= max)) || ((angle >= max && angle <= min));
+}
+
 void drawBall(){
-    float ballAngle = atan2((ball.y + ball.w/2)  - (player.y + player.w/2) , (ball.x + ball.w/2) - (player.x + player.w/2));
-    if (ballAngle < 0) ballAngle += 2*pi;
-    if (ballAngle > 2*pi) ballAngle -= 2*pi;
+    float ballAngle = atan2(ball.y  - player.y, ball.x  - player.x);
+    //if (ballAngle < 0) ballAngle += 2*pi;
+    //if (ballAngle > 2*pi) ballAngle -= 2*pi;
     float ballDistance = sqrt((ball.x - player.x)*(ball.x - player.x) + (ball.y - player.y)*(ball.y - player.y)) * BLOCK_SIZE;
     float ballBaseWidth = BLOCK_SIZE/2;
     float ballDistanceX = ballDistance * cos(ballAngle - player.angle) * BLOCK_SIZE;
@@ -481,13 +504,33 @@ void drawBall(){
     float scaledBallWidth = ballBaseWidth / sqrt(3);
     int ballWidth = 25;
     int ballHeight = 25;
-    float angleMin = player.angle - (FOV_ANGLE)/2 * DR;
-
-    float angleMax = player.angle + (FOV_ANGLE)/2 * DR;
-
+    float angleMin = player.angle - (FOV_ANGLE * DR)/2;
+    //if (angleMin > 2*pi) angleMin -= 2*pi;
+    float angleMax = player.angle + (FOV_ANGLE * DR)/2;
+    //if (angleMax < 0) angleMax += 2*pi;
+    if (angleMin < 0){
+        angleMin += 2*pi;
+        angleMax += 2*pi;
+    }
+    if (angleMax > 2*pi){
+        angleMax -= 2*pi;
+        angleMin -= 2*pi;
+        //ballAngle -= 2*pi;
+    }
+    if (angleMax > 0 && angleMin > 0 && ballAngle < 0){
+        ballAngle += 2*pi;
+    }
+        
 
+<<<<<<< HEAD
     //printf("ball angle: %f player angle: %f\n", ballAngle * RD, player.angle * RD);
     //printf("limit angles: %f %f\n", angleMin, angleMax);
+=======
+    //if (angleMax > 2*pi) angleMax -= 2*pi;
+    //printf("is playing in range %d\n", isAngleInRange(ballAngle, angleMin, angleMax));
+    //printf("ball angle: %f player angle: %f\n", ballAngle * RD, player.angle * RD);
+    //printf("limit angles: %f %f\n", angleMin * RD, angleMax * RD);
+>>>>>>> 0eb821b2c8bfe4be52ba9cd900a7693a89f35968
     if (ballAngle >= angleMin && ballAngle <= angleMax){
         rect.x = screenDimension.w/2 + (screenDimension.w * tan(ballAngle - player.angle)) * sqrt(3) * 0.5;
         rect.w = (ballWidth * screenDimension.w) / (ballDistance/BLOCK_SIZE);