From 29bc2b7829e894f965498e869a13a557192ea3ba Mon Sep 17 00:00:00 2001
From: Louis MALTERRE <malterre.louis@laposte.net>
Date: Tue, 13 Dec 2022 19:41:37 +0100
Subject: [PATCH] maj collisions

---
 MAVENProject/src/main/java/entity/Character.java | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java
index 55d4c11..af3b566 100644
--- a/MAVENProject/src/main/java/entity/Character.java
+++ b/MAVENProject/src/main/java/entity/Character.java
@@ -30,7 +30,7 @@ public class Character extends Entity{
 
     private Map<String,Double> tableCommande; //table des commandes du perso
 
-    private Obstacle obstacleBeneath = Jeu.sol;
+    //private Obstacle obstacleBeneath = Jeu.sol;
 
     //private BufferedImage sprite;
 
@@ -58,6 +58,7 @@ public class Character extends Entity{
         newX = tableCommande.get("CommandX")*delta + this.getCoord().getX();
 
         newZ = ((1-alpha)*Physique.g - tableCommande.get("CommandZ"))/2*delta*delta + vitesseActuZ*delta + this.getCoord().getZ();
+        if (Math.abs(newZ-this.coord.getZ()) <= 1) newZ += Math.signum(newZ-this.coord.getZ());
         this.setCoord(new Coordonnees((int)newX, (int)newZ));
  
         //on actualise les vitesses
@@ -97,7 +98,7 @@ public class Character extends Entity{
         }
         else {*/
             //par defaut l'obstacle en dessous c'est le sol
-            obstacleBeneath=Jeu.sol;
+            //obstacleBeneath=Jeu.sol;
             //on parcourt pour tester si il est sur un block
             for (int i=0;i<collisionsPresentes.size();i++){
                 //si on trouve on sort de la boucle (pas besoin d'aller plus loin), on n'étudie qui si on ne donne pas de commande
@@ -107,7 +108,7 @@ public class Character extends Entity{
                 if (collisionsPresentes.get(listeObstaclesInVoisinage.get(i)) == BAS ){
                     this.vitesseActuZ = 0;
                     this.setCoord(new Coordonnees(this.getCoord().getX(), getObstacleTable().get(i).getHitbox().getExtremites().get("HautGauche").getZ()-entityHEIGHT/2));
-                    obstacleBeneath=listeObstaclesInVoisinage.get(i);
+                    //obstacleBeneath=listeObstaclesInVoisinage.get(i);
                     alpha = 1;
 
                     break;
@@ -146,6 +147,7 @@ public class Character extends Entity{
         //celles du haut
         for (int i=0;i<collisionsPresentes.size();i++){
             if (collisionsPresentes.get(listeObstaclesInVoisinage.get(i)) == HAUT){
+                System.out.println("coucou");
                 this.vitesseActuZ = 0;
                 this.setCoord(new Coordonnees(this.getCoord().getX(), listeObstaclesInVoisinage.get(i).getHitbox().getExtremites().get("BasGauche").getZ()+entityHEIGHT/2+1));
                 break;
@@ -227,10 +229,7 @@ public class Character extends Entity{
         
     }
 
-    public Obstacle getObstacleBeneath() {
-        return obstacleBeneath;
-    }
-
+    
     private void updateNbFrameInvincible(){
         nbFramesInvincible = Math.max(0, nbFramesInvincible-1);
     }
-- 
GitLab