From 8e1c4554aa4f84bba4275fd200e370d89f3fecf4 Mon Sep 17 00:00:00 2001
From: Louis <malterre.louis@laposte.net>
Date: Sat, 31 Dec 2022 11:47:17 +0100
Subject: [PATCH] animations implementees LM

---
 MAVENProject/src/main/java/entity/Boss.java   |  7 +++---
 MAVENProject/src/main/java/entity/Entity.java | 10 +-------
 .../src/main/java/entity/Monster.java         |  4 +++-
 MAVENProject/src/main/java/jeu/Jeu.java       |  2 --
 MAVENProject/src/main/java/jeu/Painter.java   | 24 +++++--------------
 MAVENProject/src/main/java/map/Coffre.java    |  2 --
 6 files changed, 14 insertions(+), 35 deletions(-)

diff --git a/MAVENProject/src/main/java/entity/Boss.java b/MAVENProject/src/main/java/entity/Boss.java
index 48fb03e..1fd6bc2 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 780eb6f..578d715 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 1db55f5..cac5582 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 b0610d2..11374b6 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 99194a6..4038f16 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 4aed7d0..2c0b5d2 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;
-- 
GitLab