diff --git a/MAVENProject/src/main/java/entity/Boss.java b/MAVENProject/src/main/java/entity/Boss.java
index 48fb03efce712da768f3eba67fa394464c817a30..1fd6bc2ee59b359599ee225335b9e09a4bc04785 100644
--- a/MAVENProject/src/main/java/entity/Boss.java
+++ b/MAVENProject/src/main/java/entity/Boss.java
@@ -9,7 +9,6 @@ import map.Obstacle;
 
 import static jeu.Jeu.getObstacleTable;
 
-import java.util.FormatterClosedException;
 import java.util.HashMap;
 import java.util.List;
 
@@ -93,11 +92,13 @@ public class Boss extends Monster{
 
             if (collisionsPresentes.get(listeObstaclesInVoisinage.get(i)) == DROITE && this.direction == -1){
                 this.setCoord(new Coordonnees(listeObstaclesInVoisinage.get(i).getHitbox().getExtremites().get("HautDroite").getX()+entityWIDTH/2, this.getCoord().getZ()));
+                direction = 1;
                 break;
             }
 
             else if (collisionsPresentes.get(listeObstaclesInVoisinage.get(i)) == GAUCHE && this.direction == 1){
                 this.setCoord(new Coordonnees(listeObstaclesInVoisinage.get(i).getHitbox().getExtremites().get("HautGauche").getX()-entityWIDTH/2, this.getCoord().getZ()));
+                direction = -1;
                 break;
             }
 
@@ -137,13 +138,13 @@ public class Boss extends Monster{
             if (nbBeforeFrameChange == 0)nbFrame = nbFrame%2+1;
         }
         if (nbBeforeFrameChange == 0){
-            setSprite(beginPath + monsterType + move + dir + nbFrame + ".png");
+            
             nbBeforeFrameChange = 100;
         }
         else {
             nbBeforeFrameChange--;
         }
-
+        setSprite(beginPath + monsterType + move + dir + nbFrame + ".png");
     }
 
     public void evolveMonster(){
diff --git a/MAVENProject/src/main/java/entity/Entity.java b/MAVENProject/src/main/java/entity/Entity.java
index 780eb6f52b031e5041c055e23f23fcd280523b8f..578d715ce1f7798a0ac598568418c58b4909f363 100644
--- a/MAVENProject/src/main/java/entity/Entity.java
+++ b/MAVENProject/src/main/java/entity/Entity.java
@@ -8,7 +8,7 @@ import environnement.HitBox;
 import environnement.PositionCollision;
 import static jeu.Jeu.getObstacleTable;
 import static environnement.PositionCollision.NONE;
-import map.Obstacle;
+
 
 
 public abstract class Entity {
@@ -47,15 +47,7 @@ public abstract class Entity {
 
         nbMaxFramesInvicible = 100;
     }
-    private void deplacements(){}
-
-    private void attaque(){}
-
-    private void updateVoisinage(){}
-
-    private void collisionGestion(){}
 
-    private List<Obstacle> obstacleInVoisinage(){return new ArrayList<Obstacle>();}
    
     public Boolean death(){return false;}
     
diff --git a/MAVENProject/src/main/java/entity/Monster.java b/MAVENProject/src/main/java/entity/Monster.java
index 1db55f56397ebee47525a7a804794a6fabc5d799..cac5582dbca701f94e0a0a9cd094c000ad3c9f27 100644
--- a/MAVENProject/src/main/java/entity/Monster.java
+++ b/MAVENProject/src/main/java/entity/Monster.java
@@ -11,7 +11,6 @@ import map.Obstacle;
 import static jeu.Jeu.getGameCharacter;
 import static jeu.Jeu.getObstacleTable;
 
-import java.io.BufferedReader;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -31,6 +30,7 @@ public class Monster extends Entity{
     String monsterType = "zombie_run";
     private String sprite;
     final String beginPath;
+    private int lastDirection = direction;
 
     public Monster(Coordonnees c, double vitesseMax,double width,double height,int atkStt,int nbLP) {
         super(c, vitesseMax,width,height,atkStt);
@@ -130,6 +130,7 @@ public class Monster extends Entity{
     }
 
     private void updateSprite() {
+        if (lastDirection != direction)nbBeforeFrameChange = 0;
         if (nbBeforeFrameChange == 0){
             String dir;
             if (direction == 1)dir = "_R";
@@ -137,6 +138,7 @@ public class Monster extends Entity{
             nbFrame = nbFrame%2 + 1;
             sprite = beginPath + monsterType + dir + nbFrame + ".png";
             nbBeforeFrameChange = 100;
+            lastDirection = direction;
         }
         else nbBeforeFrameChange--;
 
diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java
index b0610d28446638d45f6d8c597a8d02daff9519dc..11374b6363d5dd559038fc39f337b56666dce574 100644
--- a/MAVENProject/src/main/java/jeu/Jeu.java
+++ b/MAVENProject/src/main/java/jeu/Jeu.java
@@ -9,7 +9,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import entity.Boss;
 import entity.Character;
 import entity.Hearth;
 import entity.Kunai;
@@ -144,7 +143,6 @@ public class Jeu implements Game{
 
         //on genere la table des monstres
         monsterList= levelManager.generateMonsterTable();
-        monsterList.add(new Boss(new Coordonnees(1400, 700), 500, 50, 50, 3, 50));
         //on remplit la map des frames
         Map<String,Integer> tempMap = gameCharacterLoader.getPathTable();
 
diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java
index 99194a67247ac7ca6ade310c60650e036f620f19..4038f168cb298c3a4b096462345d90a3595ae6d8 100644
--- a/MAVENProject/src/main/java/jeu/Painter.java
+++ b/MAVENProject/src/main/java/jeu/Painter.java
@@ -58,7 +58,7 @@ public class Painter implements GamePainter{
 
     private void drawCharacter(Graphics2D crayon,Image imageCharac){
         if (gameCharacter.getNbFramesInvincible() > 0)crayon.setColor(Color.black);
-        crayon.fillRect(WIDTH/2-(int) gameCharacter.getEntityWIDTH()/2,HEIGHT/2-(int) gameCharacter.getEntityHEIGHT()/2+decalage, (int) gameCharacter.getEntityWIDTH(),(int) gameCharacter.getEntityHEIGHT());
+        //crayon.fillRect(WIDTH/2-(int) gameCharacter.getEntityWIDTH()/2,HEIGHT/2-(int) gameCharacter.getEntityHEIGHT()/2+decalage, (int) gameCharacter.getEntityWIDTH(),(int) gameCharacter.getEntityHEIGHT());
         //crayon.drawRect(WIDTH/2-500,WIDTH/2-500, 1000,1000);
         if (gameCharacter.getDirection() == 1){
             crayon.drawImage(imageCharac, WIDTH/2- (int) gameCharacter.getEntityWIDTH()/2-10, HEIGHT/2 - (int) gameCharacter.getEntityHEIGHT()/2-3+decalage, null, null);
@@ -96,9 +96,9 @@ public class Painter implements GamePainter{
         for (Hearth hearth : getHearthList()){
             HashMap<String, Coordonnees> extremites = hearth.getHitBox().getExtremites();
             Coordonnees hd = extremites.get("HautDroite");
-            Coordonnees bd = extremites.get("BasDroite");
+            /*Coordonnees bd = extremites.get("BasDroite");
             Coordonnees hg = extremites.get("HautGauche");
-            Coordonnees bg = extremites.get("BasGauche");
+            Coordonnees bg = extremites.get("BasGauche");*/
             //crayon.fillRect((int)hg.getX()-xCam, (int)hg.getZ()-zCam, hearth.getWidth(), hearth.getHeight());
 
             //on dessine les coeurs drop
@@ -157,24 +157,12 @@ public class Painter implements GamePainter{
     }
 
     private void drawMap(Graphics2D crayon){
-        for (Obstacle obs : Jeu.getObstacleTable()){
-            if (!collision(gameCharacter.getHitBox(), obs.getHitbox())){
-                crayon.setColor(Color.blue);
-            }
-            else {
-                crayon.setColor(Color.red);
-            }
-            drawObstacle(crayon,obs);
-        }
+ 
         drawAllObstacle(crayon);
         for (Coffre obs : Jeu.getCoffreTable()){
             if (!collision(gameCharacter.getHitBox(), obs.getHitbox())){
-                crayon.setColor(Color.blue);
-            }
-            else {
-                crayon.setColor(Color.red);
-            }
             drawCoffre(crayon,obs);
+            }
         }
     }
 
@@ -205,7 +193,7 @@ public class Painter implements GamePainter{
             //crayon.drawRect(x-300 - xCam, z-300 - zCam, 600, 600);
             if (HitBox.collision(gameCharacter.getHitBox(),monster.getHitBox()))crayon.setColor(Color.red);
             if (monster.getNbFramesInvincible() > 0)crayon.setColor(Color.black);
-            crayon.fillRect(x-(int)monster.getEntityWIDTH()/2 - xCam, z-(int)monster.getEntityHEIGHT()/2 - zCam, (int)monster.getEntityWIDTH(), (int)monster.getEntityHEIGHT());
+            //crayon.fillRect(x-(int)monster.getEntityWIDTH()/2 - xCam, z-(int)monster.getEntityHEIGHT()/2 - zCam, (int)monster.getEntityWIDTH(), (int)monster.getEntityHEIGHT());
             if (monster instanceof Bat){
                 crayon.drawImage(new ImageIcon(monster.getSprite()).getImage(),x-(int)monster.getEntityWIDTH()/2 - xCam-7,z-(int)monster.getEntityHEIGHT()/2 - zCam-3, null);
             }
diff --git a/MAVENProject/src/main/java/map/Coffre.java b/MAVENProject/src/main/java/map/Coffre.java
index 4aed7d037685849da9600b0faf4bbde4022e165c..2c0b5d289b48655d26a91bb36eef8e217cf941a2 100644
--- a/MAVENProject/src/main/java/map/Coffre.java
+++ b/MAVENProject/src/main/java/map/Coffre.java
@@ -1,7 +1,5 @@
 package map;
 
-import java.io.BufferedReader;
-import java.net.URL;
 import java.awt.image.BufferedImage;
 
 import environnement.HitBox;