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