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