diff --git a/MAVENProject/src/main/java/engine/MenuPanel.java b/MAVENProject/src/main/java/engine/MenuPanel.java index c58f073cea8c90f99f00d9cc0ad0ff79552de770..c8e0d2888eef8a0045c67d4b94b3905e65d2c451 100644 --- a/MAVENProject/src/main/java/engine/MenuPanel.java +++ b/MAVENProject/src/main/java/engine/MenuPanel.java @@ -134,4 +134,28 @@ public class MenuPanel { } f.getContentPane().remove(gameFin); } + public void menufinVicory(){ + resetCharacter(); + gameFin= new Panel(new FlowLayout(FlowLayout.CENTER)); + button3 = new JButton("Ecran debut"); + JLabel label = new JLabel("Victory"); + label.setFont(new Font("Arial", Font.BOLD, 24)); + label.setForeground(Color.RED); + gameFin.add(label); + gameFin.add(button3,BorderLayout.CENTER); + button3.addActionListener(e -> retourdebut = true); + f.getContentPane().add(gameFin); + f.setContentPane(gameFin); + f.pack(); + f.setVisible(true); + f.getContentPane().setFocusable(true); + while(!isRetourdebut()){ + try { + Thread.sleep(1); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + f.getContentPane().remove(gameFin); + } } diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java index d5b593b0a5377000a7a7cd9e598e13cb517a9465..3300ffc1c466f918d94ae6990b0a50949d86672a 100644 --- a/MAVENProject/src/main/java/entity/Character.java +++ b/MAVENProject/src/main/java/entity/Character.java @@ -35,7 +35,7 @@ public class Character extends Entity{ //private BufferedImage sprite; public Character(Coordonnees c, double vitesseMax, double m, double impSaut){ - super(c,vitesseMax,30,60,1); // comme tous les entities ont une hitbox, j'ai factorise + super(c,vitesseMax,30,60,5); // comme tous les entities ont une hitbox, j'ai factorise this.masse = m; this.impulsionSaut = impSaut; this.tableCommande = new HashMap<>(); diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java index 0dd4ca9296383d3ecf9e1e353860df8d0c57690b..2ff2e457c34eea79905869fbe6e2361726fb41da 100644 --- a/MAVENProject/src/main/java/jeu/Jeu.java +++ b/MAVENProject/src/main/java/jeu/Jeu.java @@ -65,11 +65,11 @@ public class Jeu implements Game{ //Sol du niveau 1 : - //public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1216),1,1000000)); + 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 = new Obstacle(new HitBox(new Coordonnees(200,1664),1,1000000)); public static List<Obstacle> obstacleTable = new ArrayList<>(); private static List<Monster> monsterList = new ArrayList<>(); @@ -80,11 +80,11 @@ public class Jeu implements Game{ 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; + 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 final static int TILES_IN_WIDTH = 152; + //public final static int TILES_IN_HEIGHT = 60; public final static int TILES_SIZE = (int) (TILES_DEFAULT_SIZE*SCALE); private static final LevelManager levelManager = new LevelManager(); @@ -209,7 +209,7 @@ public class Jeu implements Game{ @Override public boolean isFinished() { - if(gameCharacter.death()){ + if(gameCharacter.death() || getMonsterList().get(getMonsterList().size()-1).death()){ return true; } // le jeu n'est jamais fini diff --git a/MAVENProject/src/main/java/map/LevelManager.java b/MAVENProject/src/main/java/map/LevelManager.java index 29ab7ae257c35dcd5d0328242e0f885b2b2f37da..c2f29b0658e49935ae99e866c183f1a655f18184 100644 --- a/MAVENProject/src/main/java/map/LevelManager.java +++ b/MAVENProject/src/main/java/map/LevelManager.java @@ -25,7 +25,7 @@ public class LevelManager { public LevelManager() { importOutsideSprites(); - levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO)); + levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_ONE)); //levelTwo = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO)); } @@ -113,8 +113,9 @@ public class LevelManager { obstacleImage.add(tabImages[4]); } //Porte du boss + if (index==44) { - obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+1*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-3*Jeu.TILES_SIZE/2), 3*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE))); + //obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+1*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-3*Jeu.TILES_SIZE/2), 3*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE-1))); obstacleImage.add(tabImages[7]); } //Terre verticale de 6 de hauteur @@ -178,17 +179,17 @@ public class LevelManager { //Monstres à pied if (index == 45) { - monsterList.add(new Monster(new Coordonnees(32 * i + 30 / 2, 32 * j - 62 / 2), 1000, 30, 60, 1, 5)); + monsterList.add(new Monster(new Coordonnees(32 * i + 30 / 2, 32 * j - 62 / 2), 1000, 30, 60, 1, 3)); System.out.println("ça a bien créé un monstre"); } //chauve-souris if (index == 46) { - monsterList.add(new Bat(new Coordonnees(32 * i + 20 / 2, 32 * j - 30 / 2), 1, 3)); + monsterList.add(new Bat(new Coordonnees(32 * i + 20 / 2, 32 * j - 30 / 2), 1, 1)); System.out.println("oui"); } //Boss if (index == 47) { - monsterList.add(new Boss(new Coordonnees(32*i, 32*j-140/2), 500, 32, 96, 3, 50)); + monsterList.add(new Boss(new Coordonnees(32*i, 32*j-140/2), 500, 32, 96, 3, 30)); indexBoss = monsterList.size()-1; } } diff --git a/MAVENProject/src/main/java/start/Main.java b/MAVENProject/src/main/java/start/Main.java index 50e881145fc063ce7122294901e7b1a1b212e975..617b07b6230abf3841aad4c9b396e5ef50542af2 100644 --- a/MAVENProject/src/main/java/start/Main.java +++ b/MAVENProject/src/main/java/start/Main.java @@ -8,6 +8,8 @@ import engine.GameEngineGraphical; import jeu.Controller; import jeu.Jeu; +import static jeu.Jeu.*; + /** * lancement du moteur avec le jeu @@ -43,8 +45,15 @@ public class Main { mp3 = new MP3("failsound.wav"); mp3.displayMusic(); - menu.menufin(); - mp3.stopMusic(); + if(getGameCharacter().death() ){ + menu.menufin(); + mp3.stopMusic(); + } + if (getMonsterList().get(getMonsterList().size()-1).death()){ + menu.menufinVicory(); + mp3.stopMusic(); + } + } } diff --git a/MAVENProject/src/main/resources/Obstacles/level_one.png b/MAVENProject/src/main/resources/Obstacles/level_one.png deleted file mode 100644 index c49e4961d7aa642ae414162ba3970fb29ce2052f..0000000000000000000000000000000000000000 Binary files a/MAVENProject/src/main/resources/Obstacles/level_one.png and /dev/null differ diff --git a/MAVENProject/src/main/resources/Obstacles/level_one_monster.png b/MAVENProject/src/main/resources/Obstacles/level_one_monster.png deleted file mode 100644 index 687a90b32a5f63fe3927c050de2e97f0c708c63b..0000000000000000000000000000000000000000 Binary files a/MAVENProject/src/main/resources/Obstacles/level_one_monster.png and /dev/null differ