From ff280da5e50cc797450eb56694b29a29e34e1096 Mon Sep 17 00:00:00 2001
From: Azurlors <florianrichard2001@gmail.com>
Date: Tue, 3 Jan 2023 20:22:08 +0100
Subject: [PATCH] Version 4.0.0

---
 .../src/main/java/engine/MenuPanel.java       | 33 ++++++++++++++
 .../src/main/java/entity/Character.java       |  2 -
 MAVENProject/src/main/java/jeu/Jeu.java       | 45 ++++++++++---------
 MAVENProject/src/main/java/jeu/Painter.java   |  8 ----
 .../src/main/java/loaders/LoadSave.java       |  4 --
 .../src/main/java/map/LevelManager.java       | 15 ++++---
 MAVENProject/src/main/java/start/Main.java    |  2 +
 7 files changed, 70 insertions(+), 39 deletions(-)

diff --git a/MAVENProject/src/main/java/engine/MenuPanel.java b/MAVENProject/src/main/java/engine/MenuPanel.java
index b305d91..0fbc39b 100644
--- a/MAVENProject/src/main/java/engine/MenuPanel.java
+++ b/MAVENProject/src/main/java/engine/MenuPanel.java
@@ -18,6 +18,8 @@ public class MenuPanel {
     private JButton button1;
     private JButton button2;
     private JButton button3;
+    private JButton button7;
+    private JButton button8;
 
     private static  boolean shootingCharacter = false;
     private static  boolean normalCharacter = false;
@@ -49,7 +51,13 @@ public class MenuPanel {
 
     private Panel gameMenu;
     private Panel gameChoice;
+    private Panel gameChoice2;
     private Panel gameFin;
+    private static int level;
+
+    public static int getLevel() {
+        return level;
+    }
 
     public boolean isLancementpartie() {
         return lancementpartie;
@@ -114,6 +122,31 @@ public class MenuPanel {
         f.getContentPane().remove(gameChoice);
     }
 
+    public void menuChoice2(){
+        level = 0;
+        gameChoice2 = new Panel();
+        button7 = new JButton("map 1");
+        button8 = new JButton("map 2");
+        gameChoice2.add(button7,BorderLayout.CENTER);
+        gameChoice2.add(button8,BorderLayout.CENTER);
+        button7.addActionListener(e -> level= 1);
+        button8.addActionListener(e -> level = 2);
+        f.getContentPane().add(gameChoice2);
+        f.setContentPane(gameChoice2);
+        f.pack();
+        f.setVisible(true);
+        f.getContentPane().setFocusable(true);
+
+        while(level == 0){
+            try {
+                Thread.sleep(1);
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        f.getContentPane().remove(gameChoice2);
+    }
+
     public void menufin(){
         resetCharacter();
         gameFin= new Panel(new FlowLayout(FlowLayout.CENTER));
diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java
index 056aaec..d78ae18 100644
--- a/MAVENProject/src/main/java/entity/Character.java
+++ b/MAVENProject/src/main/java/entity/Character.java
@@ -154,8 +154,6 @@ public class Character extends Entity{
             	if (cof.key) {
             		this.key += 1;
             		cof.key = false;
-
-            		System.out.print("Tu as trouvé une clée!");
             	}
             }
         }
diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java
index f8f7992..62c3603 100644
--- a/MAVENProject/src/main/java/jeu/Jeu.java
+++ b/MAVENProject/src/main/java/jeu/Jeu.java
@@ -64,13 +64,7 @@ public class Jeu implements Game{
     //liste des coeurs drop par les monstres
     private static final List<Hearth> hearthList = new ArrayList<>();
 
-    //Sol du niveau 1 :
-
-    //public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1216),1,1000000));
-
-    //Sol du niveau 2 :
-
-    public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1664),1,1000000));
+    public static Obstacle sol;
 
     public static List<Obstacle> obstacleTable = new ArrayList<>();
     private static List<Monster> monsterList = new ArrayList<>();
@@ -79,16 +73,11 @@ public class Jeu implements Game{
 
     public final static int TILES_DEFAULT_SIZE=32;
     public final static float SCALE=1.0f;
-    //Taille fenêtre niveau 1 :
-
-    //public final static int TILES_IN_WIDTH = 132;
-    //public final static int TILES_IN_HEIGHT = 46;
-    //Taille fenêtre niveau 2 :
-    public final static int TILES_IN_WIDTH = 152;
-    public final static int TILES_IN_HEIGHT = 60;
+    public static int TILES_IN_WIDTH;
+    public static int TILES_IN_HEIGHT;
 
     public final static int TILES_SIZE = (int) (TILES_DEFAULT_SIZE*SCALE);
-    public static final LevelManager levelManager = new LevelManager();
+    public static LevelManager levelManager;
 
     public Jeu(String source) {
 
@@ -125,11 +114,27 @@ public class Jeu implements Game{
         directionJeu.put("Left", false);
         directionJeu.put("Jump", false);
         directionJeu.put("Attack",false);
-        
-        
-        //on genere la table des obstacles
-        obstacleTable= levelManager.generateObstacleTable();
-        obstacleTable.add(sol);
+
+        // on génère le level manager
+
+        if(engine.MenuPanel.getLevel() == 1) {
+            TILES_IN_WIDTH = 132;
+            TILES_IN_HEIGHT = 46;
+            levelManager = new LevelManager("LEVEL_ONE");
+            obstacleTable= levelManager.generateObstacleTable();
+            sol = new Obstacle(new HitBox(new Coordonnees(200,1216),1,1000000));
+            obstacleTable.add(sol);
+        }
+
+        else if(engine.MenuPanel.getLevel() == 2) {
+            TILES_IN_WIDTH = 152;
+            TILES_IN_HEIGHT = 60;
+            levelManager = new LevelManager("LEVEL_TWO");
+            obstacleTable= levelManager.generateObstacleTable();
+            sol = new Obstacle(new HitBox(new Coordonnees(200,1664),1,1000000));
+            obstacleTable.add(sol);
+        }
+
 
 
 
diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java
index aa56796..7af42fc 100644
--- a/MAVENProject/src/main/java/jeu/Painter.java
+++ b/MAVENProject/src/main/java/jeu/Painter.java
@@ -142,14 +142,6 @@ public class Painter implements GamePainter{
     private void drawCoffre(Graphics2D crayon, Coffre coffre){
         HashMap<String, Coordonnees> extremites = coffre.getHitbox().getExtremites();
         Coordonnees coffreCenter = coffre.getHitbox().getCentre();
-        Coordonnees hd = extremites.get("HautDroite");
-        Coordonnees bd = extremites.get("BasDroite");
-        Coordonnees hg = extremites.get("HautGauche");
-        Coordonnees bg = extremites.get("BasGauche");
-        crayon.drawLine((int)hd.getX() - xCam,(int)hd.getZ() - zCam,(int)bd.getX() - xCam,(int)bd.getZ() - zCam);
-        crayon.drawLine((int)bd.getX() - xCam,(int)bd.getZ() - zCam,(int)bg.getX() - xCam,(int)bg.getZ() - zCam);
-        crayon.drawLine((int)bg.getX() - xCam,(int)bg.getZ() - zCam,(int)hg.getX() - xCam,(int)hg.getZ() - zCam);
-        crayon.drawLine((int)hg.getX() - xCam,(int)hg.getZ() - zCam,(int)hd.getX() - xCam,(int)hd.getZ() - zCam);
         crayon.drawImage(coffre.getImage(), (int)coffreCenter.getX() - (int) coffre.getHitbox().getWidth()/2 -xCam,(int) coffreCenter.getZ() - (int) coffre.getHitbox().getHeight()/2 -zCam,null,null);
 
     }
diff --git a/MAVENProject/src/main/java/loaders/LoadSave.java b/MAVENProject/src/main/java/loaders/LoadSave.java
index 336a422..123e5b3 100644
--- a/MAVENProject/src/main/java/loaders/LoadSave.java
+++ b/MAVENProject/src/main/java/loaders/LoadSave.java
@@ -76,7 +76,6 @@ public class LoadSave {
 				//Bat
 				if (86<=value && value <= 95) {
 					copyValue = 46;
-					System.out.println(i);
 				}
 				//Boss
 				if (96<=value && value <= 105)
@@ -87,7 +86,6 @@ public class LoadSave {
 				//Terre horizontale de 7 de longueur
 				if (226<=value && value <= 235) {
 					copyValue = 121;
-					System.out.println("terre");
 				}
 				//Terre verticale de 6 de hauteur
 				if (236<=value && value <= 245)
@@ -96,7 +94,6 @@ public class LoadSave {
 				//Terre verticale de 20 de hauteur
 				if (46<=value && value <= 55) {
 					copyValue = 29;
-					System.out.println(i);
 
 				}
 
@@ -120,7 +117,6 @@ public class LoadSave {
 				//Liste des valeurs
 				lvlData[j][i] = copyValue;
 				if (lvlData[j][i]==121){
-					System.out.println("terre cree");
 				}
 			}
 		return lvlData;
diff --git a/MAVENProject/src/main/java/map/LevelManager.java b/MAVENProject/src/main/java/map/LevelManager.java
index f21ba17..4d37808 100644
--- a/MAVENProject/src/main/java/map/LevelManager.java
+++ b/MAVENProject/src/main/java/map/LevelManager.java
@@ -24,10 +24,16 @@ public class LevelManager {
 	private int indexBoss;
 	private int indexPorte;
 
-	public LevelManager() {
-		importOutsideSprites();
-		levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
-		//levelTwo = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
+	public LevelManager(String a) {
+		if (a == "LEVEL_TWO") {
+			importOutsideSprites();
+			levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
+			//levelTwo = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
+		} else if (a == "LEVEL_ONE") {
+			importOutsideSprites();
+			levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_ONE));
+			//levelTwo = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
+		}
 	}
 
 	private BufferedImage[] importOutsideSprites() {
@@ -195,7 +201,6 @@ public class LevelManager {
 				}
 			}
 		}
-		System.out.println(monsterList);
 		return monsterList;
 	}
 
diff --git a/MAVENProject/src/main/java/start/Main.java b/MAVENProject/src/main/java/start/Main.java
index 44acc25..8137b8d 100644
--- a/MAVENProject/src/main/java/start/Main.java
+++ b/MAVENProject/src/main/java/start/Main.java
@@ -23,6 +23,8 @@ public class Main {
 			menu.menudebut();
 			Thread.sleep(2);
 			menu.menuChoice();
+			Thread.sleep(2);
+			menu.menuChoice2();
 
 			// creation du jeu particulier et de son afficheur
 			Jeu game = new Jeu("helpFilePacman.txt");
-- 
GitLab