From 06027ccc83e55431f65beac8a62dbb54fb97245e Mon Sep 17 00:00:00 2001 From: musilto9 Date: Sun, 7 Jun 2020 21:47:46 +0200 Subject: [PATCH] fixed tests --- .../ruscz/game/gameOfProd/Battle/Battle.java | 24 +++--- .../game/gameOfProd/Battle/BattlePerson.java | 2 +- .../java/ruscz/game/gameOfProd/Cells/Npc.java | 6 +- src/main/java/ruscz/game/gameOfProd/Game.java | 3 +- .../gameOfProd/LevelEditor/LevelEditor.java | 2 +- .../gameOfProd/Windows/WindowOfBattle.java | 2 +- .../gameOfProd/Windows/WindowOfFreeMove.java | 2 +- .../game/gameOfProd/Windows/WindowOfMenu.java | 34 +++++--- src/main/resources/save/savedGame/events.txt | 80 +++++++++++++++++++ src/main/resources/save/savedGame/person.txt | 6 ++ .../LevelEditor/LevelEditorTest.java | 2 +- .../gameOfProd/Scripts/PathFinderTest.java | 4 + .../Windows/WindowOfFreeMoveTest.java | 1 - 13 files changed, 136 insertions(+), 32 deletions(-) diff --git a/src/main/java/ruscz/game/gameOfProd/Battle/Battle.java b/src/main/java/ruscz/game/gameOfProd/Battle/Battle.java index 76b81ac..0b5fb19 100644 --- a/src/main/java/ruscz/game/gameOfProd/Battle/Battle.java +++ b/src/main/java/ruscz/game/gameOfProd/Battle/Battle.java @@ -107,17 +107,19 @@ public class Battle { windowOfBattle.getMenuOfActions().getConsole().removeActionListener(windowOfBattle.getMenuOfActions().getConsole().getActionListeners()[0]); windowOfBattle.getMenuOfActions().getEscape().removeActionListener(windowOfBattle.getMenuOfActions().getEscape().getActionListeners()[0]); windowOfBattle.getMenuOfActions().getInventory().removeActionListener(windowOfBattle.getMenuOfActions().getInventory().getActionListeners()[0]); - InteractionCell ic; - if (b) ic = new InteractionCell(-1, -1, windowOfBattle.getWinCutscene(), - new Dialog(windowOfFreeMove.getDialogBar()), windowOfFreeMove.getMapManager().getActualMap(), windowOfFreeMove, true); - else ic = new InteractionCell(-1, -1, windowOfBattle.getLoseCutscene(), - new Dialog(windowOfFreeMove.getDialogBar()), windowOfFreeMove.getMapManager().getActualMap(), windowOfFreeMove, true); - ic.startEvent(); - windowOfFreeMove.getForegroundPanel().setColorForeground(0, 0, 0, 255); - windowOfFreeMove.setVisible(true); - windowOfFreeMove.requestFocus(); - windowOfBattle.getGame().remove(windowOfBattle); - windowOfBattle.getMusicManager().stopMusic(); + if (windowOfFreeMove.getMapManager() != null) { + InteractionCell ic; + if (b) ic = new InteractionCell(-1, -1, windowOfBattle.getWinCutscene(), + new Dialog(windowOfFreeMove.getDialogBar()), windowOfFreeMove.getMapManager().getActualMap(), windowOfFreeMove, true); + else ic = new InteractionCell(-1, -1, windowOfBattle.getLoseCutscene(), + new Dialog(windowOfFreeMove.getDialogBar()), windowOfFreeMove.getMapManager().getActualMap(), windowOfFreeMove, true); + ic.startEvent(); + windowOfFreeMove.getForegroundPanel().setColorForeground(0, 0, 0, 255); + windowOfFreeMove.setVisible(true); + windowOfFreeMove.requestFocus(); + windowOfBattle.getGame().remove(windowOfBattle); + windowOfBattle.getMusicManager().stopMusic(); + } // SaveManager saveManager = game.getFreeMove().getMapManager().getSaveManager(); // saveManager.saveGame(); } diff --git a/src/main/java/ruscz/game/gameOfProd/Battle/BattlePerson.java b/src/main/java/ruscz/game/gameOfProd/Battle/BattlePerson.java index 9f85d95..8ca0bee 100644 --- a/src/main/java/ruscz/game/gameOfProd/Battle/BattlePerson.java +++ b/src/main/java/ruscz/game/gameOfProd/Battle/BattlePerson.java @@ -139,7 +139,7 @@ public abstract class BattlePerson { } public void setHealth(int health) { - if (this.health > health) { + if (this.health > health && image != null) { getHurt(); setImageEffect("hurt"); } diff --git a/src/main/java/ruscz/game/gameOfProd/Cells/Npc.java b/src/main/java/ruscz/game/gameOfProd/Cells/Npc.java index 8b396e6..79e7229 100644 --- a/src/main/java/ruscz/game/gameOfProd/Cells/Npc.java +++ b/src/main/java/ruscz/game/gameOfProd/Cells/Npc.java @@ -65,7 +65,7 @@ public class Npc extends Person { moveRight(); break; } - if (name.equals("monster")) { + if (name != null && name.equals("monster")) { getMap().getSoundManager().playSound("monstersound.wav", 0.0f); } } @@ -146,4 +146,8 @@ public class Npc extends Person { } public String getName() { return name; } + + public Timer getTimer() { + return timer; + } } diff --git a/src/main/java/ruscz/game/gameOfProd/Game.java b/src/main/java/ruscz/game/gameOfProd/Game.java index 7e1effe..e92f7cb 100644 --- a/src/main/java/ruscz/game/gameOfProd/Game.java +++ b/src/main/java/ruscz/game/gameOfProd/Game.java @@ -41,6 +41,7 @@ public class Game extends JFrame { //tohle spustí na začátku menu add(menu); + menu.start(); //tohle spustí na začátku hru // add(freeMove); @@ -48,7 +49,7 @@ public class Game extends JFrame { //tohle spustí na začátku bitvu // add(battle); -// battle.startBattle("storageroombattle"); +// battle.start("storageroombattle"); //Tohle spustí na začátku tileset overview //new LevelEditor(); diff --git a/src/main/java/ruscz/game/gameOfProd/LevelEditor/LevelEditor.java b/src/main/java/ruscz/game/gameOfProd/LevelEditor/LevelEditor.java index 05b11ae..4c6fc66 100644 --- a/src/main/java/ruscz/game/gameOfProd/LevelEditor/LevelEditor.java +++ b/src/main/java/ruscz/game/gameOfProd/LevelEditor/LevelEditor.java @@ -263,7 +263,7 @@ public class LevelEditor extends JFrame { private void initializeCellMap() { cellMap.put("BLOCK", 0); - cellMap.put("EVENT", 0); + cellMap.put("INTER", 0); cellMap.put("TRIGGER", 0); cellMap.put("MOVETO", 0); cellMap.put("DOOR/DOORTO", 0); diff --git a/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfBattle.java b/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfBattle.java index c94965b..0145133 100644 --- a/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfBattle.java +++ b/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfBattle.java @@ -116,7 +116,7 @@ public class WindowOfBattle extends JPanel { setCursor(Cursor.getDefaultCursor()); } - public void startBattle(String name) { + public void start(String name) { LinkedList heroes = new LinkedList<>(); LinkedList enemies = new LinkedList<>(); diff --git a/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMove.java b/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMove.java index f8bb66c..04c41c0 100644 --- a/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMove.java +++ b/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMove.java @@ -224,7 +224,7 @@ public class WindowOfFreeMove extends JLayeredPane { setVisible(false); WindowOfBattle battle = game.getBattle(); mapManager.getWindow().getGame().add(battle); - battle.startBattle(name); + battle.start(name); } public class Canvas extends JPanel { diff --git a/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfMenu.java b/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfMenu.java index fa4575e..9640555 100644 --- a/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfMenu.java +++ b/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfMenu.java @@ -33,6 +33,7 @@ public class WindowOfMenu extends JPanel { private MusicManager musicManager; public WindowOfMenu(Game game) { + setIgnoreRepaint(true); this.game = game; this.freeMove = game.getFreeMove(); screenSize = Toolkit.getDefaultToolkit().getScreenSize(); @@ -164,7 +165,9 @@ public class WindowOfMenu extends JPanel { @Override public void mouseExited(MouseEvent e) { exitGame.setLocation(exitGame.getX(), exitGame.getY() + 3); } }); + } + public void start() { musicManager = new MusicManager("Town2.wav", -25.0f); musicManager.playMusic(); musicManager.fadeIn(10); @@ -182,27 +185,32 @@ public class WindowOfMenu extends JPanel { repaint(); } }; - Timer timer = new Timer("Timer"); + java.util.Timer timer = new Timer("Timer"); long delay = 3000L; timer.schedule(task, delay); + + setIgnoreRepaint(false); } @Override protected void paintComponent(Graphics g) { - Image powered = null; - Image menu = null; - try { - powered = ImageIO.read(new File("src/main/resources/foregrounds/poweredByCellEngine.png")); - menu = ImageIO.read(new File("src/main/resources/foregrounds/menu.png")); - } catch (IOException e) { - e.printStackTrace(); + if (!getIgnoreRepaint()) { + Image powered = null; + Image menu = null; + try { + powered = ImageIO.read(new File("src/main/resources/foregrounds/poweredByCellEngine.png")); + menu = ImageIO.read(new File("src/main/resources/foregrounds/menu.png")); + } catch (IOException e) { + e.printStackTrace(); + } + g.setColor(Color.BLACK); + g.fillRect(0, 0, screenSize.width, screenSize.height); + if (!showMenu) + g.drawImage(powered, (screenSize.width - (powered.getWidth(null) / 2)) / 2, (screenSize.height - (powered.getHeight(null) / 2)) / 2, + (powered.getWidth(null) / 2), (powered.getHeight(null) / 2), null); + else g.drawImage(menu, 0, 0, screenSize.width, screenSize.height, null); } - g.setColor(Color.BLACK); - g.fillRect(0, 0, screenSize.width, screenSize.height); - if (!showMenu) g.drawImage(powered, (screenSize.width - (powered.getWidth(null)/2)) / 2, (screenSize.height - (powered.getHeight(null)/2)) / 2, - (powered.getWidth(null)/2), (powered.getHeight(null)/2), null); - else g.drawImage(menu,0, 0, screenSize.width, screenSize.height,null); } private void cleanUp() { diff --git a/src/main/resources/save/savedGame/events.txt b/src/main/resources/save/savedGame/events.txt index e69de29..02fad9d 100644 --- a/src/main/resources/save/savedGame/events.txt +++ b/src/main/resources/save/savedGame/events.txt @@ -0,0 +1,80 @@ + + tutorial + + + 11 + 6 + false + + + + + openspace + + + 6 + 4 + true + + + 14 + 16 + false + + + 1 + 2 + true + + + 15 + 7 + true + + + + + office + + + 4 + 2 + false + + + 1 + 9 + true + + + + + boss + + + 4 + 18 + true + + + + + treasure + + + 6 + 1 + true + + + + + storageroom + + + 6 + 2 + true + + + diff --git a/src/main/resources/save/savedGame/person.txt b/src/main/resources/save/savedGame/person.txt index e69de29..ec0fcae 100644 --- a/src/main/resources/save/savedGame/person.txt +++ b/src/main/resources/save/savedGame/person.txt @@ -0,0 +1,6 @@ + + storageroom + 6 + 2 + 0 + \ No newline at end of file diff --git a/src/test/java/ruscz/game/gameOfProd/LevelEditor/LevelEditorTest.java b/src/test/java/ruscz/game/gameOfProd/LevelEditor/LevelEditorTest.java index 69f6aea..a215daa 100644 --- a/src/test/java/ruscz/game/gameOfProd/LevelEditor/LevelEditorTest.java +++ b/src/test/java/ruscz/game/gameOfProd/LevelEditor/LevelEditorTest.java @@ -48,7 +48,7 @@ public class LevelEditorTest { imageCell = new ImageCell(); for (String tileset : tilesets) { activeTilesets.add(tileset); - imageCell.imageTileset(new String[]{tileset}); + imageCell.imageTileset(new String[]{"",tileset}); } tilesetOverview.setActiveTilesets(activeTilesets); tilesetOverview.generateOverview(); diff --git a/src/test/java/ruscz/game/gameOfProd/Scripts/PathFinderTest.java b/src/test/java/ruscz/game/gameOfProd/Scripts/PathFinderTest.java index 2b2b8b5..95e5612 100644 --- a/src/test/java/ruscz/game/gameOfProd/Scripts/PathFinderTest.java +++ b/src/test/java/ruscz/game/gameOfProd/Scripts/PathFinderTest.java @@ -68,6 +68,10 @@ public class PathFinderTest { testNpc = new Npc(startX, startY, testMap, freeMove.getMapManager()); testNpc.move(endX, endY); + while (testNpc.getTimer().isRunning()) { + continue; + } + //Assert if (isPossible) { Assertions.assertEquals(endX, testNpc.getX()); diff --git a/src/test/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMoveTest.java b/src/test/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMoveTest.java index 6740a74..3e8902d 100644 --- a/src/test/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMoveTest.java +++ b/src/test/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMoveTest.java @@ -41,7 +41,6 @@ public class WindowOfFreeMoveTest { freeMove.start(true); testMap = Map.findMapByName("m6",freeMove); freeMove.setMapManager(testMap); - freeMove.getMapManager().setMap(testMap); person = freeMove.getMapManager().getActualMap().getPerson(); }