From 96021926a363745c9937b9e82975a55bdc4741f1 Mon Sep 17 00:00:00 2001 From: Brugneaux Louis <louis.brugneaux3@etu.univ-lorraine.fr> Date: Mon, 12 Dec 2022 13:18:01 +0100 Subject: [PATCH] Map --- .../src/main/java/engine/DrawingPanel.java | 3 ++- MAVENProject/src/main/java/entity/Entity.java | 2 ++ MAVENProject/src/main/java/jeu/Jeu.java | 19 +++++++++++---- MAVENProject/src/main/java/jeu/Painter.java | 23 +++++++++++++------ 4 files changed, 35 insertions(+), 12 deletions(-) diff --git a/MAVENProject/src/main/java/engine/DrawingPanel.java b/MAVENProject/src/main/java/engine/DrawingPanel.java index b253f6c..56026bd 100644 --- a/MAVENProject/src/main/java/engine/DrawingPanel.java +++ b/MAVENProject/src/main/java/engine/DrawingPanel.java @@ -10,7 +10,7 @@ import java.awt.image.BufferedImage; import javax.swing.JPanel; import static jeu.Jeu.getGameCharacter; - +import map.LevelManager; public class DrawingPanel extends JPanel { /** @@ -36,6 +36,7 @@ public class DrawingPanel extends JPanel { /** * la taille des images */ + private LevelManager levelManager; private int width, height; /** diff --git a/MAVENProject/src/main/java/entity/Entity.java b/MAVENProject/src/main/java/entity/Entity.java index 071ced1..dc9f9dc 100644 --- a/MAVENProject/src/main/java/entity/Entity.java +++ b/MAVENProject/src/main/java/entity/Entity.java @@ -43,6 +43,8 @@ public abstract class Entity { for (int i = 0;i<getObstacleTable().size();i++){ obstacleTableCollision.add(NONE); } + + nbMaxFramesInvicible = 100; } public void deplacements(){} diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java index 4c9ea5e..c7818d8 100644 --- a/MAVENProject/src/main/java/jeu/Jeu.java +++ b/MAVENProject/src/main/java/jeu/Jeu.java @@ -18,8 +18,10 @@ import entity.ShootingCharacter; import engine.Game; import environnement.Coordonnees; import environnement.HitBox; +import loaders.ObstacleLoader; import map.Obstacle; import loaders.CharacterLoader; +import map.LevelManager; public class Jeu implements Game{ @@ -29,7 +31,7 @@ public class Jeu implements Game{ //Coordonees de debut du personnage - static final double zdebut = 300; + static final double zdebut = 0; static final double xdebut = 300; //perso @@ -60,12 +62,16 @@ 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<>(); + public static List<Obstacle> obstacleTable = new ArrayList<>(); private static List<Monster> monsterList = new ArrayList<>(); private static List<Kunai> kunaiList = new ArrayList<>(); //private static List<Coffre> coffreTable = new ArrayList<>(); - + public final static int TILES_DEFAULT_SIZE=32; + public final static float SCALE=1.5f; + public final static int TILES_IN_WIDTH = 60; + public final static int TILES_IN_HEIGHT = 20; + public final static int TILES_SIZE = (int) (TILES_DEFAULT_SIZE*SCALE); public Jeu(String source) { @@ -80,7 +86,11 @@ public class Jeu implements Game{ characterSkinPath = beginPath + movement + numberOfMovement + ".png"; // path premiere frame /*A = new ArrayList<Double>(); n = 0;*/ - + + + + + try { helpReader = new BufferedReader(new FileReader(source)); String line; @@ -102,6 +112,7 @@ public class Jeu implements Game{ //faut supp la pour table obstacles obstacleTable.add(sol); + obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(300,550),32,128))); 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))); diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java index 9a0a086..72cb391 100644 --- a/MAVENProject/src/main/java/jeu/Painter.java +++ b/MAVENProject/src/main/java/jeu/Painter.java @@ -17,22 +17,26 @@ import java.net.URL; import static environnement.HitBox.collision; import static jeu.Jeu.*; +import map.LevelManager; public class Painter implements GamePainter{ - protected static final int WIDTH = 1500; - protected static final int HEIGHT = 1000; - + //protected static final int WIDTH = TILES_SIZE*TILES_IN_WIDTH; + //protected static final int HEIGHT = TILES_SIZE*TILES_IN_HEIGHT; + protected static final int WIDTH =1500; + protected static final int HEIGHT=1000; + private LevelManager levelManager; public static Obstacle test = new Obstacle(new HitBox(new Coordonnees(300,550),32,128)); private static Coordonnees coordonneesCam; - private int xCam; - private int zCam; + public int xCam; + public int zCam; private int decalage = 225; + private Painter painter; public Painter() { - + levelManager = new LevelManager(painter); } @Override @@ -43,14 +47,18 @@ public class Painter implements GamePainter{ Graphics2D crayon = (Graphics2D) im.getGraphics(); crayon.setColor(Color.blue); - drawCharacter(crayon,gameCharacterLoader.getImageCharacter()); + + levelManager.draw(); drawMap(crayon); + drawSol(crayon); drawObstacleBis(crayon,test,"plateforme.png"); // A changer drawLifePoints(crayon); drawMonsters(crayon); drawKunais(crayon); + + drawCharacter(crayon,gameCharacterLoader.getImageCharacter()); } @@ -120,6 +128,7 @@ public class Painter implements GamePainter{ } private void drawMap(Graphics2D crayon){ + System.out.println("Nombre obstacle :"+Jeu.getObstacleTable().size()); for (Obstacle obs : Jeu.getObstacleTable()){ if (!collision(gameCharacter.getHitBox(), obs.getHitbox())){ crayon.setColor(Color.blue); -- GitLab