diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java
index a44fe55592270cb0ecf2774329eab1ed14995d6f..e492e0f3cf880eb22c995d8ba9143120705aa41d 100644
--- a/MAVENProject/src/main/java/entity/Character.java
+++ b/MAVENProject/src/main/java/entity/Character.java
@@ -1,5 +1,6 @@
 package entity;
 
+
 import java.util.HashMap;
 import java.util.Map;
 
@@ -7,8 +8,11 @@ import environnement.Coordonnees;
 import environnement.HitBox;
 import environnement.Physique;
 import jeu.Jeu;
-import static environnement.HitBox.collisionMap;
-import static jeu.Painter.test;
+
+import static environnement.HitBox.collisionObstacle;
+import static jeu.Jeu.getObstacleTable;
+import static jeu.Jeu.getObstacleTableCollisionCharac;
+
 
 public class Character extends Entity{
 
@@ -74,7 +78,8 @@ public class Character extends Entity{
     }
 
     public void collisionGestion(){
-        collisionMap (this.getHitBox(),test.getHitbox());
+        collisionObstacle(this.getHitBox(), getObstacleTable().get(2).getHitbox(),2);
+        System.out.println(collisionObstacle(this.getHitBox(), getObstacleTable().get(2).getHitbox(),2).toString());
     }
     @Override
     public void attaque(){
diff --git a/MAVENProject/src/main/java/environnement/HitBox.java b/MAVENProject/src/main/java/environnement/HitBox.java
index 7bbd3edf16adf4126d289f917560fdcbc8f09e5a..0242c1a5473dc0d61fd95513979bcded7b5d7159 100644
--- a/MAVENProject/src/main/java/environnement/HitBox.java
+++ b/MAVENProject/src/main/java/environnement/HitBox.java
@@ -1,6 +1,11 @@
 package environnement;
 
 import java.util.HashMap;
+import java.util.List;
+
+import static environnement.PositionCollision.*;
+import static jeu.Jeu.getObstacleTableCollisionCharac;
+import static jeu.Jeu.setObstacleTableCollisionCharac;
 
 public class HitBox {
 
@@ -45,32 +50,6 @@ public class HitBox {
         return (int)defaultUnit;
     }
 
-    public static HashMap<String,Boolean> collisionMap(HitBox A, HitBox B){ // lignes sautées pour raison de lisibilité
-        HashMap<String,Boolean>  map = new HashMap<>();
-        map.put("collision_gauche", false);
-        map.put("collision_droite", false);
-        map.put("collision_bas", false);
-        map.put("collision_haut", false);
-        boolean a = !(A.extremites.get("HautGauche").getX() > B.extremites.get("HautDroite").getX()); // A est à droite de B
-        boolean b = !(A.extremites.get("HautDroite").getX() < B.extremites.get("HautGauche").getX()); // A est à gauche de B
-        boolean c = !(A.extremites.get("HautGauche").getZ() > B.extremites.get("BasGauche").getZ()); // A est en dessous de B
-        boolean d = !(A.extremites.get("BasGauche").getZ() < B.extremites.get("HautGauche").getZ()); // A est au dessus de B
-        if (a && !d && !c){
-            map.put("collision_gauche", true);
-        }
-        else if (b && !d && !c) {
-            map.put("collision_droite", true);
-        }
-        else if (c && !a && !b) {
-            map.put("collision_bas", true );
-        }
-        else if (d && !a && !b) {
-            map.put("collision_haut", true);
-        }
-        System.out.println(map);
-        return map;
-    }
-
     public static Boolean collision(HitBox A, HitBox B){
         Boolean a = !(A.extremites.get("HautGauche").getX() > B.extremites.get("HautDroite").getX()); // A est à droite de B
         Boolean b = !(A.extremites.get("HautDroite").getX() < B.extremites.get("HautGauche").getX()); // A est à gauche de B
@@ -81,4 +60,53 @@ public class HitBox {
     public HashMap<String, Coordonnees> getExtremites() {
         return extremites;
     }
+
+    public static PositionCollision collisionObstacle(HitBox A, HitBox B,int i) {
+        List<PositionCollision> L = getObstacleTableCollisionCharac();
+        boolean a = !(A.getExtremites().get("HautGauche").getX() > B.getExtremites().get("HautDroite").getX()); // A est à droite de B
+        boolean b = !(A.getExtremites().get("HautDroite").getX() < B.getExtremites().get("HautGauche").getX()); // A est à gauche de B
+        boolean c = !(A.getExtremites().get("HautGauche").getZ() > B.getExtremites().get("BasGauche").getZ()); // A est en dessous de B
+        boolean d = !(A.getExtremites().get("BasGauche").getZ() < B.getExtremites().get("HautGauche").getZ()); // A est au-dessus de B
+
+        int somme = 0;
+        if (a) {
+            somme++;
+        }
+        if (b) {
+            somme++;
+        }
+        if (c) {
+            somme++;
+        }
+        if (d) {
+            somme++;
+        }
+
+        if (somme == 3) {
+            if (!a) {
+                L.set(i, DROITE);
+            }
+            if (!b) {
+                L.set(i, GAUCHE);
+            }
+            if (!c) {
+                L.set(i, HAUT);
+            }
+            if (!d) {
+                L.set(i, BAS);
+            }
+            setObstacleTableCollisionCharac(L);
+        }
+
+        if (somme == 4) {
+            return L.get(i);
+        } else {
+            return NONE;
+        }
+    }
+
+    @Override
+    public String toString() {
+        return "Hitbox ";
+    }
 }
\ No newline at end of file
diff --git a/MAVENProject/src/main/java/environnement/PositionCollision.java b/MAVENProject/src/main/java/environnement/PositionCollision.java
new file mode 100644
index 0000000000000000000000000000000000000000..f484624fcf85b1df1f76c283ca13e776a84d3a25
--- /dev/null
+++ b/MAVENProject/src/main/java/environnement/PositionCollision.java
@@ -0,0 +1,5 @@
+package environnement;
+
+public enum PositionCollision {
+    DROITE,GAUCHE,BAS,HAUT,NONE
+}
diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java
index d5686c054a713ad39400b5c620f2d9a242120e50..c0685f7767e4e41a0db206a8dd8c0364b2166936 100644
--- a/MAVENProject/src/main/java/jeu/Jeu.java
+++ b/MAVENProject/src/main/java/jeu/Jeu.java
@@ -13,9 +13,12 @@ import entity.Character;
 import engine.Game;
 import environnement.Coordonnees;
 import environnement.HitBox;
+import environnement.PositionCollision;
 import map.Obstacle;
 import loaders.CharacterLoader;
 
+import static environnement.PositionCollision.*;
+
 
 public class Jeu implements Game{
 
@@ -50,8 +53,9 @@ public class Jeu implements Game{
 
     public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,700),1,1000000));
 
-    private static List<Obstacle> obstacleTable = new ArrayList<Obstacle>();
-    
+    private static List<Obstacle> obstacleTable = new ArrayList<>();
+    private static List<PositionCollision>  obstacleTableCollisionCharac= new ArrayList<>();
+
 
     public Jeu(String source) {
 
@@ -102,6 +106,11 @@ public class Jeu implements Game{
         obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(800, 625),150,50)));
         obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(600, 662.5),75,50)));
 
+        obstacleTableCollisionCharac.add(NONE);
+        obstacleTableCollisionCharac.add(NONE);
+        obstacleTableCollisionCharac.add(NONE);
+        obstacleTableCollisionCharac.add(NONE);
+
     }
 
     @Override
@@ -145,6 +154,12 @@ public class Jeu implements Game{
     public static List<Obstacle> getObstacleTable() {
         return obstacleTable;
     }
+    public static List<PositionCollision> getObstacleTableCollisionCharac() {
+        return obstacleTableCollisionCharac;
+    }
+    public static void setObstacleTableCollisionCharac(List<PositionCollision> obstacleTableCollisionCharac) {
+        Jeu.obstacleTableCollisionCharac = obstacleTableCollisionCharac;
+    }
 
     private void animation(Boolean Attack,Boolean Right,Boolean Left){
         if (Attack && !characterAttacking) {
@@ -170,7 +185,7 @@ public class Jeu implements Game{
         //System.out.println(numberOfMovement);
         if (previousMovement != movement){numberOfMovement = 1;nbBeforeFramechgt = nbIterationPerFrame;}
         if (numberOfMovement == gameCharacterLoader.getPathTable().get(movement)){
-            System.out.println(movement);
+            //System.out.println(movement);
             //characterNotMoving = true;
             if (movement == "character_attack"){
                 characterAttacking = false;