diff --git a/data/rooms.dat b/data/rooms.dat
index bc4bad9..15c28a3 100644
--- a/data/rooms.dat
+++ b/data/rooms.dat
@@ -1,7 +1,7 @@
Room name: Circle Room
Room Description: You are in a circular room. The windows to the east are covered with boards that let in just enough light to see.
There seems to be some writing on the wall.
Locked: false
-Items:Lockpick,Milk,
+Items:Lockpick,Milk,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword,Sword
Riddle: "Who is never hungry during Christmas?", "The turkey because he is always stuffed."
Exit Rooms: W-Apple Hallway
diff --git a/data/synonyms.dat b/data/synonyms.dat
index c767262..1c948f9 100644
--- a/data/synonyms.dat
+++ b/data/synonyms.dat
@@ -1 +1,41 @@
-This is for the synonyms for the parser
\ No newline at end of file
+suicide, die
+grab, take
+destroy, attack
+kill, attack
+?, help
+leave, quit
+drive, go
+move, go
+glance, look
+glimpse, look
+peek, look
+gander, look
+charge, attack
+raid, attack
+strike, attack
+drown, die
+expire, die
+perish, die
+bounce, jump
+dive, jump
+fall, jump
+rise, jump
+free, unlock
+release, unlock
+leave, drop
+raid, attack
+bite, eat
+chew, eat
+devour, eat
+dine, eat
+feed, eat
+ingest, eat
+inhale, eat
+nibble, eat
+swallow, eat
+absorb, eat
+advice, help
+aid, help
+benefit, help
+scram, go
+hightail, go
\ No newline at end of file
diff --git a/src/com/bayviewglen/zork/CommandWords.java b/src/com/bayviewglen/zork/CommandWords.java
index de1ff85..7605c77 100644
--- a/src/com/bayviewglen/zork/CommandWords.java
+++ b/src/com/bayviewglen/zork/CommandWords.java
@@ -16,7 +16,8 @@ import java.util.Scanner;
*/
class CommandWords {
// a constant array that holds all valid command words
- private static HashMap m_words = new HashMap();;
+ private static HashMap m_words = new HashMap();
+ private static HashMap m_synonyms = new HashMap();
/**
* Constructor - initialise the command words.
*/
@@ -33,6 +34,18 @@ class CommandWords {
}catch (Exception e) {
e.printStackTrace();
}
+
+ try {
+ Scanner in = new Scanner(new File("data/synonyms.dat"));
+ while(in.hasNext()){
+ String text = in.nextLine();
+ String[] textarr = text.split(",");
+ m_synonyms.put(textarr[0], textarr[1].substring(1));
+ }
+ in.close();
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
}
/**
@@ -82,4 +95,16 @@ class CommandWords {
}
System.out.println();
}
+
+ public static String replaceSynonym(String word) {
+ try {
+ String words = m_synonyms.get(word);
+ if(words == null)
+ throw new Exception();
+ else
+ return words;
+ } catch(Exception e) {
+ return word;
+ }
+ }
}
\ 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 37ecde8..670a863 100644
--- a/src/com/bayviewglen/zork/Entities/Player.java
+++ b/src/com/bayviewglen/zork/Entities/Player.java
@@ -16,6 +16,7 @@ public class Player extends Entity{
public boolean addToInventory(Item item){
if(currentInventoryWeight + item.getWeight() < INVENTORY_CAPACITY){
+ currentInventoryWeight+= item.getWeight();
inventory.add(item);
return true;
}
@@ -26,6 +27,7 @@ public class Player extends Entity{
for(int i =0; i clazz;
Item object;
try {
@@ -445,11 +462,9 @@ class Game {
}else {
System.out.println("That enemy is not in this room!");
}
-
}else {
System.out.println("Attack what?");
}
-
} else {
if(command.hasItem()) {
boolean has = false;
@@ -468,6 +483,7 @@ class Game {
break;
case "read":
+ break;
default:
return false;
}
diff --git a/src/com/bayviewglen/zork/Parser.java b/src/com/bayviewglen/zork/Parser.java
index 2c429e7..1582bc0 100644
--- a/src/com/bayviewglen/zork/Parser.java
+++ b/src/com/bayviewglen/zork/Parser.java
@@ -52,6 +52,7 @@ class Parser {
words.add(tokenizer.nextToken());
}
for(int i=0; i