From 6114cf409e2aa1f0a637f10de0ee253e9d34cfa3 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 19 Jun 2022 14:21:18 -0700 Subject: [PATCH] Fix bug, some other changes --- src/GamePanel.java | 2 +- src/LevelManager.java | 26 ++++++++++++++++---------- src/MenuPanel.java | 1 + src/Player.java | 2 +- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/GamePanel.java b/src/GamePanel.java index be33eff..bfdb9a7 100644 --- a/src/GamePanel.java +++ b/src/GamePanel.java @@ -391,7 +391,7 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ double delta = 0; long now; int fireballCounter = 0; - while(true){ //this is the infinite game loop + while(isRunning){ //this is the infinite game loop now = System.nanoTime(); delta = delta + (now-lastTime)/ns; lastTime = now; diff --git a/src/LevelManager.java b/src/LevelManager.java index 688af19..8fa87a1 100644 --- a/src/LevelManager.java +++ b/src/LevelManager.java @@ -14,7 +14,7 @@ public class LevelManager implements Serializable { public static String filePath; public static int bombs; - public static void setLevel(int level){ + public static void setLevel(int level, boolean hasDied){ GameFrame.game.bombs.clear(); GameFrame.game.player.yVelocity = 0; GameFrame.game.player.xVelocity = 0; @@ -37,21 +37,27 @@ public class LevelManager implements Serializable { } try { MapReader.inputMap(filePath); - GameFrame.game.dialogueArray = new ArrayList(Arrays.asList(MapReader.inputDialogue(filePath))); - if (GameFrame.game.dialogueArray.get(0).contains("$Villain")) { - GameFrame.game.dialogueArray.remove(0); - GameFrame.game.dialogueMenu.isNarrator = false; - // TODO: move img path to GamePanel - GameFrame.game.dialogueMenu.PORTRAIT = new BufferedImageWrapper("img\\dialogue\\Bouncer.png"); + if (!hasDied) { + GameFrame.game.dialogueArray = new ArrayList(Arrays.asList(MapReader.inputDialogue(filePath))); + if (GameFrame.game.dialogueArray.get(0).contains("$Villain")) { + GameFrame.game.dialogueArray.remove(0); + GameFrame.game.dialogueMenu.isNarrator = false; + // TODO: move img path to GamePanel + GameFrame.game.dialogueMenu.PORTRAIT = new BufferedImageWrapper("img\\dialogue\\Bouncer.png"); + } + GameFrame.game.dialogueMenu.currentFrame = 0; + GameFrame.game.dialogueMenu.frameCounter = 0; + GameFrame.game.isDialogue = true; } - GameFrame.game.dialogueMenu.currentFrame = 0; - GameFrame.game.dialogueMenu.frameCounter = 0; - GameFrame.game.isDialogue = true; } catch (IOException | SpriteException | UnsupportedAudioFileException | LineUnavailableException e) { throw new RuntimeException(e); } //GamePanel.player.reset(); } + + public static void setLevel(int level) { + setLevel(level, false); + } public static void nextLevel(){ setLevel(level+1); } diff --git a/src/MenuPanel.java b/src/MenuPanel.java index ea6fda9..a7f9abd 100644 --- a/src/MenuPanel.java +++ b/src/MenuPanel.java @@ -167,6 +167,7 @@ public class MenuPanel extends JPanel implements Runnable, KeyListener{ GameFrame.game.isRunning = false; GameFrame.game.player.xVelocity = 0; GameFrame.game.player.yVelocity = 0; + GameFrame.game.map = new Tile[1000][18]; GameFrame.game = new GamePanel(GameFrame.main); //run GamePanel constructor GameFrame.game.startThread(); GameFrame.main.add(GameFrame.game, "game", 0); diff --git a/src/Player.java b/src/Player.java index aabb64c..0cf08dc 100644 --- a/src/Player.java +++ b/src/Player.java @@ -280,7 +280,7 @@ public class Player extends GenericSprite { } public void reset(){ - LevelManager.setLevel(LevelManager.level); + LevelManager.setLevel(LevelManager.level, true); GameFrame.game.camera.x = LevelManager.xSpawn; y = LevelManager.ySpawn; holdingSteel = false;