From a43f915ed4f159d728e75bcf8fa1c5f39f67e9f0 Mon Sep 17 00:00:00 2001
From: antoinemeyer5 <antoine.meyer54@gmail.com>
Date: Thu, 23 Jun 2022 11:35:46 +0200
Subject: [PATCH] nettoyage code

---
 travail_de_groupe/chef_oeuvre/src/player.c | 75 ++++++++++++----------
 1 file changed, 42 insertions(+), 33 deletions(-)

diff --git a/travail_de_groupe/chef_oeuvre/src/player.c b/travail_de_groupe/chef_oeuvre/src/player.c
index 416b052..c2c2271 100644
--- a/travail_de_groupe/chef_oeuvre/src/player.c
+++ b/travail_de_groupe/chef_oeuvre/src/player.c
@@ -47,76 +47,79 @@ void checkCollisionsFire(int dot1, int dot2){
         player.currentHP = player.currentHP - 1;
         player.invisible = 1;
         player.timeLastHitFire = (int)timer/1000;
-        printf("touche\n");
     }
 }
 
 int collisionsLeftPlayer(){
-    int collision = 0;
+    int collisionWindow = 0;
+    int collisionTree = 0;
+    int collisionWater = 0;
     int dotTopLeft = giveCaseBelowPosition(player.x, player.y);
     int dotDownLeft = giveCaseBelowPosition(player.x, player.y+player.h);
     int fireTopLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y));
     int fireDownLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y+player.h));
     //collision window
     if(player.x <= 0){
-        collision = 1;
+        collisionWindow = 1;
     }
     //collisions
-    collision = checkCollisionsTypeGround(dotTopLeft, dotDownLeft, TREE);
-    collision = checkCollisionsTypeGround(dotTopLeft, dotDownLeft, WATER);
+    collisionTree = checkCollisionsTypeGround(dotTopLeft, dotDownLeft, TREE);
+    collisionWater = checkCollisionsTypeGround(dotTopLeft, dotDownLeft, WATER);
     checkCollisionsFire(fireTopLeft, fireDownLeft);
-    return collision;
+
+    return collisionWindow || collisionTree || collisionWater;
 }
 
 int collisionsRightPlayer(){
-    int collision = 0;
+    int collisionWindow = 0;
+    int collisionTree = 0;
+    int collisionWater = 0;
     int dotTopRight = giveCaseBelowPosition(player.x+player.w, player.y);
     int dotDownRight = giveCaseBelowPosition(player.x+player.w, player.y+player.h);
     int fireTopRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y));
     int fireDownRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y+player.h));
     //collision window
     if(player.x + player.w >= MAPSIZE * CELLSIZE){
-        collision = 1;
+        collisionWindow = 1;
     }
     //collisions
-    collision = checkCollisionsTypeGround(dotTopRight, dotDownRight, TREE);
-    collision = checkCollisionsTypeGround(dotTopRight, dotDownRight, WATER);
+    collisionTree = checkCollisionsTypeGround(dotTopRight, dotDownRight, TREE);
+    collisionWater = checkCollisionsTypeGround(dotTopRight, dotDownRight, WATER);
     checkCollisionsFire(fireTopRight, fireDownRight);
-    return collision;
+    return collisionWindow || collisionTree || collisionWater;
 }
 
-int collisionsUpPlayer(){
-    int collision = 0;
-    int dotTopRight = giveCaseBelowPosition(player.x+player.w, player.y);
-    int dotTopLeft = giveCaseBelowPosition(player.x, player.y);
-    int fireTopRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y));
-    int fireTopLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y));
+int collisionsUpPlayer(int dot1, int dot2){
+    int collisionWindow = 0;
+    int collisionTree = 0;
+    int collisionWater = 0;
     //collision window
     if(player.y <= 0){
-        collision = 1;
+        collisionWindow = 1;
     }
     //collisions
-    collision = checkCollisionsTypeGround(dotTopRight, dotTopLeft, TREE);
-    collision = checkCollisionsTypeGround(dotTopRight, dotTopLeft, WATER);
-    checkCollisionsFire(fireTopRight, fireTopLeft);
-    return collision;
+    collisionTree = checkCollisionsTypeGround(dot1, dot2, TREE);
+    collisionWater = checkCollisionsTypeGround(dot1, dot2, WATER);
+    return collisionWindow || collisionTree || collisionWater;
 }
 
 int collisionsDownPlayer(){
-    int collision = 0;
+    int collisionWindow = 0;
+    int collisionTree = 0;
+    int collisionWater = 0;
     int dotDownRight = giveCaseBelowPosition(player.x+player.w, player.y+player.h);
     int dotDownLeft = giveCaseBelowPosition(player.x, player.y+player.h);
     int fireDownRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y+player.h));
     int fireDownLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y+player.h));
     //collision window
     if(player.y + player.h >= MAPSIZE * CELLSIZE){
-        collision = 1;
+        collisionWindow = 1;
     }
     //collisions
-    collision = checkCollisionsTypeGround(dotDownRight, dotDownLeft, TREE);
-    collision = checkCollisionsTypeGround(dotDownRight, dotDownLeft, WATER);
+    collisionTree = checkCollisionsTypeGround(dotDownRight, dotDownLeft, TREE);
+    collisionWater = checkCollisionsTypeGround(dotDownRight, dotDownLeft, WATER);
     checkCollisionsFire(fireDownRight, fireDownLeft);
-    return collision;
+    return collisionWindow || collisionTree || collisionWater;
 }
 
 void moveRightPlayer(){
@@ -132,9 +135,7 @@ void moveLeftPlayer(){
 }
 
 void moveUpPlayer(){
-    if(!collisionsUpPlayer()){
-        player.y = player.y - player.speed;
-    }
+    player.y = player.y - player.speed;
 }
 
 void moveDownPlayer(){
@@ -144,10 +145,18 @@ void moveDownPlayer(){
 }
 
 void manageMovement(){
+    int dotTopRight = giveCaseBelowPosition(player.x+player.w, player.y);
+    int dotTopLeft = giveCaseBelowPosition(player.x, player.y);
+    int fireTopRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y));
+    int fireTopLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y));
+
     if(keys[PLAYER_UP]){
-        moveUpPlayer();
-        player.isMoving = 1;
-        player.direction = PLAYER_UP;
+        if(!collisionsUpPlayer(dotTopRight, dotTopLeft)){
+            moveUpPlayer();
+            checkCollisionsFire(fireTopRight, fireTopLeft);
+            player.isMoving = 1;
+            player.direction = PLAYER_UP;
+        }
     }
     else if(keys[PLAYER_DOWN]){
         moveDownPlayer();
-- 
GitLab