From 397e3dab7c00b0a4a6c0f30e7bab6e4640898746 Mon Sep 17 00:00:00 2001 From: musilto9 Date: Thu, 9 Apr 2020 17:26:15 +0200 Subject: [PATCH] added doors and doorTo's --- .../ruscz/game/gameOfProd/Cells/DoorCell.java | 57 ++++++++++++++ .../ruscz/game/gameOfProd/Cells/Person.java | 43 ++++++++++- .../java/ruscz/game/gameOfProd/Map/Map.java | 72 ++++++++++++++++++ .../ruscz/game/gameOfProd/Map/MapManager.java | 2 + .../gameOfProd/Windows/WindowOfFreeMove.java | 3 + src/main/resources/Openspace1.png | Bin 51144 -> 52018 bytes src/main/resources/dialogs/locked.txt | 2 + src/main/resources/maps/boss-cellmap.txt | 3 +- src/main/resources/maps/boss.txt | 2 +- src/main/resources/maps/office-cellmap.txt | 3 +- src/main/resources/maps/office.txt | 4 +- src/main/resources/maps/openspace-cellmap.txt | 5 +- src/main/resources/maps/openspace.txt | 8 +- src/main/resources/save/savedGame/events.txt | 2 +- src/main/resources/save/savedGame/person.txt | 6 +- 15 files changed, 193 insertions(+), 19 deletions(-) create mode 100644 src/main/java/ruscz/game/gameOfProd/Cells/DoorCell.java create mode 100644 src/main/resources/dialogs/locked.txt diff --git a/src/main/java/ruscz/game/gameOfProd/Cells/DoorCell.java b/src/main/java/ruscz/game/gameOfProd/Cells/DoorCell.java new file mode 100644 index 0000000..b86ee54 --- /dev/null +++ b/src/main/java/ruscz/game/gameOfProd/Cells/DoorCell.java @@ -0,0 +1,57 @@ +package ruscz.game.gameOfProd.Cells; + +import ruscz.game.gameOfProd.Dialog.Dialog; +import ruscz.game.gameOfProd.Image.ImageCell; +import ruscz.game.gameOfProd.Windows.WindowOfFreeMove; + +import java.awt.*; + +public class DoorCell extends InteractionCell { + private boolean isOpen; + private boolean isLocked; + private boolean requiresKey; + + public DoorCell(int x, int y, String message, Dialog dialog, ImageCell imageCell, WindowOfFreeMove window, boolean requiresKey) { + super(x, y, message, dialog, imageCell, window, true); + this.isOpen = false; + this.isLocked = true; + this.requiresKey = requiresKey; + } + + public DoorCell(int x, int y, ImageCell imageCell, WindowOfFreeMove window) { + super(x, y, null, null, imageCell, window, true); + this.isOpen = false; + this.isLocked = false; + } + + @Override + public void paint(Graphics2D g) { + int open = isOpen ? 1 : 0; + g.drawImage(super.getImageCell().getImagesOfTiles().get(super.getImageCell().getImageFromCellMap("DOOR") + open), getX() * WindowOfFreeMove.CELL_SIZE, + getY() * WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, null); + } + + public boolean isOpen() { + return isOpen; + } + + public void setOpen(boolean open) { + isOpen = open; + } + + public boolean isLocked() { + return isLocked; + } + + public void setLocked(boolean locked) { + isLocked = locked; + } + + public boolean isRequiresKey() { + return requiresKey; + } + + public void setRequiresKey(boolean requiresKey) { + this.requiresKey = requiresKey; + } +} diff --git a/src/main/java/ruscz/game/gameOfProd/Cells/Person.java b/src/main/java/ruscz/game/gameOfProd/Cells/Person.java index 2f7c79a..a3782bc 100644 --- a/src/main/java/ruscz/game/gameOfProd/Cells/Person.java +++ b/src/main/java/ruscz/game/gameOfProd/Cells/Person.java @@ -95,26 +95,43 @@ public class Person extends Cell { else if (map.isActiveTriggerCell(x,y) && isInEvent) { map.findTriggerByXY(x,y).readNextLine(); } + else if (isDoorInFront(x,y,directionSight)) { + DoorCell door = map.findDoorByXY(x, y, directionSight); + if (!door.isLocked()) { + if (door.isOpen()) + door.setOpen(false); + else + door.setOpen(true); + } + else if (!isInEvent) { + isInEvent = true; + door.startEvent(); + } + else { + door.readNextLine(); + } + } break; } if (directionMove != WindowOfFreeMove.KEY_EVENT) { - if (directionMove != 0 && !map.isBusyCell(x, y) && !map.isInteractionCell(x, y)) { + if (directionMove != 0 && !map.isBusyCell(x, y) && !map.isInteractionCell(x, y) && !map.isClosedDoor(x, y)) { directionMoveLast = directionMove; isMoving = true; } else if (directionMove != 0 && map.isBusyCell(x, y)) { directionMoveLast = 0; } else if (directionMove != 0 && map.isInteractionCell(x, y)) { directionMoveLast = 0; + } else if (directionMove != 0 && map.isClosedDoor(x, y)) { + directionMoveLast = 0; } - if (map.isCellMoveTo(x, y)) { + if (map.isCellMoveTo(x, y) && !map.isClosedDoor(x, y)) { set(x, y); WindowOfFreeMove.setCanPersonMove(false); if (!isMoving) { map.findEventByXY(x, y).moveToMap(); } } else { - if (!map.isInteractionCell(x, y) && !map.isBusyCell(x, y)) - { + if (!map.isInteractionCell(x, y) && !map.isBusyCell(x, y) && !map.isClosedDoor(x, y)) { set(x, y); } } @@ -152,6 +169,24 @@ public class Person extends Cell { return map.isInteractionCell(x, y); } + private boolean isDoorInFront(int x, int y, int directionSight) { + switch (directionSight) { + case 1: + x--; + break; + case 3: + x++; + break; + case 2: + y--; + break; + case 0: + y++; + break; + } + return map.isDoor(x, y); + } + public void stopPerson(){ directionMove = 0; directionMoveLast = 0; diff --git a/src/main/java/ruscz/game/gameOfProd/Map/Map.java b/src/main/java/ruscz/game/gameOfProd/Map/Map.java index b3c7c28..9a20d97 100644 --- a/src/main/java/ruscz/game/gameOfProd/Map/Map.java +++ b/src/main/java/ruscz/game/gameOfProd/Map/Map.java @@ -18,6 +18,7 @@ public class Map { private LinkedList block; private LinkedList interactionCells; private LinkedList triggerCells; + private LinkedList doorCells; private LinkedList npcs; private int idExit; private ImageCell imageCell; @@ -33,6 +34,7 @@ public class Map { moveToCells = new LinkedList<>(); interactionCells = new LinkedList<>(); triggerCells = new LinkedList<>(); + doorCells = new LinkedList<>(); npcs = new LinkedList<>(); block = new LinkedList<>(); imageCell = new ImageCell(); @@ -59,6 +61,7 @@ public class Map { block = new LinkedList<>(); interactionCells = new LinkedList<>(); triggerCells = new LinkedList<>(); + doorCells = new LinkedList<>(); mapArray = new TypeOfCell[height][width]; npcs = new LinkedList<>(); imageCell = new ImageCell(); @@ -86,6 +89,7 @@ public class Map { moveToCells = new LinkedList<>(); interactionCells = new LinkedList<>(); triggerCells = new LinkedList<>(); + doorCells = new LinkedList<>(); block = new LinkedList<>(); imageCell = new ImageCell(); npcs = new LinkedList<>(); @@ -157,6 +161,13 @@ public class Map { map.addInteractionEvent(new TriggerCell(x, y, trigger[1], new Dialog(window.getDialogBar()), map.getImageCell(), window)); } else if (line[x].equals("SPAWN")) { map.setSpawnPoint(x, y); + } else if (line[x].contains("DOOR") && !line[x].contains("DOORTO")) { + ImageCell imageCell = new ImageCell(); + String[] door = line[x].split(","); + if (line[x].equals("DOOR")) + map.addInteractionEvent(new DoorCell(x, y, map.getImageCell(), window)); + else + map.addInteractionEvent(new DoorCell(x, y, door[1], new Dialog(window.getDialogBar()), map.getImageCell(), window, Boolean.parseBoolean(door[2]))); } } } @@ -180,6 +191,17 @@ public class Map { else map.addMoveToEvent(new EventMoveToCell(Integer.parseInt(moveTo[1]), Integer.parseInt(moveTo[2]), x, y, findMapByName(moveTo[3], window), window, false)); } + else if (line[x].contains("DOORTO")) { + String[] doorTo = line[x].split(","); + if (doorTo[1].equals("locked")) { + map.addInteractionEvent(new DoorCell(x, y, doorTo[2], new Dialog(window.getDialogBar()), map.getImageCell(), window, Boolean.parseBoolean(doorTo[3]))); + map.addMoveToEvent(new EventMoveToCell(Integer.parseInt(doorTo[4]), Integer.parseInt(doorTo[5]), x, y, findMapByName(doorTo[6], window), window, false)); + } + else { + map.addInteractionEvent(new DoorCell(x, y, map.getImageCell(), window)); + map.addMoveToEvent(new EventMoveToCell(Integer.parseInt(doorTo[1]), Integer.parseInt(doorTo[2]), x, y, findMapByName(doorTo[3], window), window, false)); + } + } } y++; } @@ -204,6 +226,11 @@ public class Map { triggerCells.add(triggerCell); } + public void addInteractionEvent(DoorCell doorCell) { + mapArray[doorCell.getX()][doorCell.getY()] = TypeOfCell.EVENT; + doorCells.add(doorCell); + } + public void setNpcs(Npc npc){ npcs.add(npc); } @@ -242,6 +269,8 @@ public class Map { public LinkedList getTriggerCells() { return triggerCells; } + public LinkedList getDoorCells() { return doorCells; } + public void setIdExit(int id) { this.idExit = id; } @@ -290,6 +319,21 @@ public class Map { return false; } + public boolean isDoor(int x, int y) { + for (DoorCell cell : doorCells) + if (x == cell.getX() && y == cell.getY() && cell.getClass().getName().equals("ruscz.game.gameOfProd.Cells.DoorCell")) { + return true; + } + return false; + } + + public boolean isClosedDoor(int x, int y) { + for (DoorCell cell : doorCells) + if (x == cell.getX() && y == cell.getY() && cell.getClass().getName().equals("ruscz.game.gameOfProd.Cells.DoorCell") && !cell.isOpen()) + return true; + return false; + } + public EventMoveToCell findEventByXY(int x, int y) { for (EventMoveToCell cell : moveToCells) if (x == cell.getX() && y == cell.getY()) @@ -324,4 +368,32 @@ public class Map { return cell; return triggerCells.getFirst(); } + + public DoorCell findDoorByXY(int x, int y, int directionSight) { + switch (directionSight) { + case 1: + x--; + break; + case 3: + x++; + break; + case 2: + y--; + break; + case 0: + y++; + break; + } + for (DoorCell cell : doorCells) + if (x == cell.getX() && y == cell.getY()) + return cell; + return doorCells.getFirst(); + } + + public DoorCell findDoorByXY(int x, int y) { + for (DoorCell cell : doorCells) + if (x == cell.getX() && y == cell.getY()) + return cell; + return doorCells.getFirst(); + } } diff --git a/src/main/java/ruscz/game/gameOfProd/Map/MapManager.java b/src/main/java/ruscz/game/gameOfProd/Map/MapManager.java index c34406c..8967fb3 100644 --- a/src/main/java/ruscz/game/gameOfProd/Map/MapManager.java +++ b/src/main/java/ruscz/game/gameOfProd/Map/MapManager.java @@ -102,6 +102,8 @@ public class MapManager { actualMap.getPerson().set(-1, -1); break; } + if (actualMap.isDoor(cell.getX(), cell.getY())) + actualMap.findDoorByXY(cell.getX(), cell.getY()).setOpen(true); saveManager.saveGame(); } } diff --git a/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMove.java b/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMove.java index 8cdf40f..1a59b91 100644 --- a/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMove.java +++ b/src/main/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMove.java @@ -215,6 +215,9 @@ public class WindowOfFreeMove extends JLayeredPane { for (Cell cell : mapManager.getActualMap().getInteractionEventCells()) { cell.paint(g2D); } + for (Cell cell : mapManager.getActualMap().getDoorCells()) { + cell.paint(g2D); + } for (Person person : mapManager.getActualMap().getNpcs()) { person.paint(g2D); } diff --git a/src/main/resources/Openspace1.png b/src/main/resources/Openspace1.png index 1b21ecfcf7a6862e0d7e0ae919c8d1cf6687080c..f8b17cea9bebd933102dcfc60e4fc08ecad06282 100644 GIT binary patch delta 27296 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 z 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 delta 26415 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 \ No newline at end of file diff --git a/src/main/resources/maps/boss-cellmap.txt b/src/main/resources/maps/boss-cellmap.txt index bafbaf0..ecb4ed5 100644 --- a/src/main/resources/maps/boss-cellmap.txt +++ b/src/main/resources/maps/boss-cellmap.txt @@ -1,4 +1,5 @@ BLOCK 2 MOVETO 1 EVENT 3 -TRIGGER 4 \ No newline at end of file +TRIGGER 4 +DOOR 254 \ No newline at end of file diff --git a/src/main/resources/maps/boss.txt b/src/main/resources/maps/boss.txt index 43cd705..0ad3b9b 100644 --- a/src/main/resources/maps/boss.txt +++ b/src/main/resources/maps/boss.txt @@ -18,4 +18,4 @@ BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK EMPTY EMPTY EMPTY TRIGGER,ohhimark EMPTY EMPTY EMPTY BLOCK -BLOCK BLOCK BLOCK BLOCK moveto,0,1,office BLOCK BLOCK BLOCK BLOCK \ No newline at end of file +BLOCK BLOCK BLOCK BLOCK DOORTO,0,1,office BLOCK BLOCK BLOCK BLOCK \ No newline at end of file diff --git a/src/main/resources/maps/office-cellmap.txt b/src/main/resources/maps/office-cellmap.txt index bafbaf0..ecb4ed5 100644 --- a/src/main/resources/maps/office-cellmap.txt +++ b/src/main/resources/maps/office-cellmap.txt @@ -1,4 +1,5 @@ BLOCK 2 MOVETO 1 EVENT 3 -TRIGGER 4 \ No newline at end of file +TRIGGER 4 +DOOR 254 \ No newline at end of file diff --git a/src/main/resources/maps/office.txt b/src/main/resources/maps/office.txt index dbc3db1..1c31a2f 100644 --- a/src/main/resources/maps/office.txt +++ b/src/main/resources/maps/office.txt @@ -1,5 +1,5 @@ 20 12 -BLOCK BLOCK BLOCK BLOCK moveto,0,3,boss BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK +BLOCK BLOCK BLOCK BLOCK DOORTO,0,3,boss BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK DOOR,locked,false BLOCK BLOCK BLOCK BLOCK DOOR,locked,false BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block BLOCK @@ -10,4 +10,4 @@ BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY BLOCK BL BLOCK block EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK -BLOCK BLOCK block BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK \ No newline at end of file +BLOCK BLOCK DOOR,locked,false BLOCK BLOCK BLOCK BLOCK DOOR,locked,false BLOCK BLOCK BLOCK BLOCK DOOR,locked,false BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK \ No newline at end of file diff --git a/src/main/resources/maps/openspace-cellmap.txt b/src/main/resources/maps/openspace-cellmap.txt index bafbaf0..fdd1800 100644 --- a/src/main/resources/maps/openspace-cellmap.txt +++ b/src/main/resources/maps/openspace-cellmap.txt @@ -1,4 +1,5 @@ BLOCK 2 MOVETO 1 -EVENT 3 -TRIGGER 4 \ No newline at end of file +EVENT 0 +TRIGGER 4 +DOOR 254 \ No newline at end of file diff --git a/src/main/resources/maps/openspace.txt b/src/main/resources/maps/openspace.txt index 4c00670..415a2e5 100644 --- a/src/main/resources/maps/openspace.txt +++ b/src/main/resources/maps/openspace.txt @@ -3,16 +3,16 @@ BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BL BLOCK block block block EMPTY EMPTY EMPTY block BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY EMPTY inter,laugh inter,laugh EMPTY EMPTY BLOCK BLOCK block EMPTY EMPTY EMPTY EMPTY EMPTY block BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK block EMPTY EMPTY EMPTY EMPTY EMPTY block BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block -BLOCK block EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK EMPTY block block block block EMPTY block -BLOCK BLOCK EMPTY BLOCK BLOCK BLOCK EMPTY BLOCK BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY block block block block EMPTY block +BLOCK block EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY DOOR EMPTY EMPTY EMPTY BLOCK EMPTY block block block block EMPTY block +BLOCK BLOCK DOOR,locked,false BLOCK BLOCK BLOCK DOOR BLOCK BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY block block block block EMPTY block BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY block block block block EMPTY block BLOCK block EMPTY block BLOCK block EMPTY block BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY block block block block EMPTY block BLOCK block EMPTY block BLOCK block EMPTY block BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK block EMPTY block BLOCK block EMPTY block BLOCK EMPTY EMPTY EMPTY BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK -BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY BLOCK BLOCK BLOCK BLOCK EMPTY BLOCK BLOCK BLOCK +BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY BLOCK BLOCK BLOCK BLOCK DOOR BLOCK BLOCK BLOCK BLOCK EMPTY block block EMPTY inter,minecraft inter,minecraft EMPTY BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK EMPTY block block EMPTY inter,minecraft inter,minecraft EMPTY BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY block EMPTY EMPTY EMPTY block block -BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block block EMPTY block block block +BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY DOOR EMPTY EMPTY EMPTY EMPTY EMPTY block block EMPTY block block block BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY moveto,1,2,office EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY moveto,0,2,m1 EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block EMPTY block EMPTY BLOCK diff --git a/src/main/resources/save/savedGame/events.txt b/src/main/resources/save/savedGame/events.txt index 245388a..f79dde1 100644 --- a/src/main/resources/save/savedGame/events.txt +++ b/src/main/resources/save/savedGame/events.txt @@ -64,7 +64,7 @@ 4 18 - true + false diff --git a/src/main/resources/save/savedGame/person.txt b/src/main/resources/save/savedGame/person.txt index d826f54..e33ef6b 100644 --- a/src/main/resources/save/savedGame/person.txt +++ b/src/main/resources/save/savedGame/person.txt @@ -1,5 +1,5 @@ - openspace - 8 - 15 + office + 4 + 1 \ No newline at end of file