From 5a5f4fc06afcee54df4561e8349af15fdb0b9415 Mon Sep 17 00:00:00 2001 From: jslightham <31053827+jslightham@users.noreply.github.com> Date: Sun, 26 May 2019 23:22:51 -0400 Subject: [PATCH] transfer - locked rooms --- data/words.dat | 3 ++ src/com/bayviewglen/zork/Entities/Player.java | 8 +++- src/com/bayviewglen/zork/Game.java | 44 ++++++++++++------- src/com/bayviewglen/zork/Parser.java | 12 +++-- 4 files changed, 46 insertions(+), 21 deletions(-) diff --git a/data/words.dat b/data/words.dat index 03add56..73806dd 100644 --- a/data/words.dat +++ b/data/words.dat @@ -52,3 +52,6 @@ novel, item mop, item bucket, item towels, item +open, verb +i, verb +unlock, verb \ No newline at end of file diff --git a/src/com/bayviewglen/zork/Entities/Player.java b/src/com/bayviewglen/zork/Entities/Player.java index 695dac2..3f8611d 100644 --- a/src/com/bayviewglen/zork/Entities/Player.java +++ b/src/com/bayviewglen/zork/Entities/Player.java @@ -23,7 +23,13 @@ public class Player extends Entity{ } public void removeFromInventory(Item item){ - inventory.remove(item); + for(int i =0; i", "\n").trim()); - // Read the Description - boolean locked = Boolean.parseBoolean(roomScanner.nextLine()); + // Read the locked state + boolean locked = Boolean.parseBoolean(roomScanner.nextLine().split(":")[1].replaceAll("
", "\n").trim()); room.setLocked(locked); // Read the Items String items = roomScanner.nextLine(); @@ -168,7 +168,31 @@ class Game { } String commandWord = command.getCommandWord(); switch(commandWord) { - case "go": case "n": case "s": case "e": case "w": case "north": case "south": case "west": case "east": case "up": case "down": case "d": case "u": + case "open": case "unlock": + boolean hasLockPick = false; + for(int i =0; i words = new ArrayList(); ArrayList otherWords = new ArrayList(); @@ -50,6 +51,9 @@ class Parser { words.add(tokenizer.nextToken()); } for(int i=0; i