From c50c63477cb6a75075655dfe5346089c30e68bf0 Mon Sep 17 00:00:00 2001
From: Luca Carnegie <41924665+lcarnegie@users.noreply.github.com>
Date: Wed, 29 May 2019 13:42:53 -0400
Subject: [PATCH] made riddler for rooms, etc...
---
data/rooms.dat | 2 +-
src/com/bayviewglen/zork/Command.java | 7 ++++-
src/com/bayviewglen/zork/CommandWords.java | 27 +-----------------
src/com/bayviewglen/zork/Entities/Riddle.java | 27 ++++++++++++++++++
.../bayviewglen/zork/Entities/Riddler.java | 13 +++++++++
src/com/bayviewglen/zork/Game.java | 12 ++++----
src/com/bayviewglen/zork/Items/Riddle.java | 28 -------------------
src/com/bayviewglen/zork/Parser.java | 1 +
src/com/bayviewglen/zork/Room.java | 8 ++++--
9 files changed, 61 insertions(+), 64 deletions(-)
create mode 100644 src/com/bayviewglen/zork/Entities/Riddle.java
create mode 100644 src/com/bayviewglen/zork/Entities/Riddler.java
delete mode 100644 src/com/bayviewglen/zork/Items/Riddle.java
diff --git a/data/rooms.dat b/data/rooms.dat
index 1b5d364..9368ff7 100644
--- a/data/rooms.dat
+++ b/data/rooms.dat
@@ -1,5 +1,5 @@
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.
+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. You spot a man in a tailored suit.
Locked: false
Items:Lockpick,Milk
Riddle: "Who is never hungry during Christmas?", "The turkey because he is always stuffed."
diff --git a/src/com/bayviewglen/zork/Command.java b/src/com/bayviewglen/zork/Command.java
index fc08494..64bf834 100644
--- a/src/com/bayviewglen/zork/Command.java
+++ b/src/com/bayviewglen/zork/Command.java
@@ -29,13 +29,14 @@ class Command {
private ArrayList otherWords;
private String item;
private String enemy;
+ private String riddler;
/**
* Create a command object. First and second word must be supplied, but
* either one (or both) can be null. The command word should be null to
* indicate that this was a command that is not recognised by this game.
*/
- public Command(String firstWord, ArrayList otherWords, String direction, String item, String enemy) {
+ public Command(String firstWord, ArrayList otherWords, String direction, String item, String enemy, String riddler) {
commandWord = firstWord;
this.otherWords = otherWords;
this.direction = direction;
@@ -53,6 +54,7 @@ class Command {
this.direction = "down";
this.item = item;
this.enemy = enemy;
+ this.riddler = riddler;
}
/**
@@ -104,6 +106,9 @@ class Command {
}
public String getEnemy() {
return enemy;
+ }
+ public boolean hasRiddler() {
+
}
public boolean hasEnemy() {
return !enemy.equals("");
diff --git a/src/com/bayviewglen/zork/CommandWords.java b/src/com/bayviewglen/zork/CommandWords.java
index 7605c77..de1ff85 100644
--- a/src/com/bayviewglen/zork/CommandWords.java
+++ b/src/com/bayviewglen/zork/CommandWords.java
@@ -16,8 +16,7 @@ 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_synonyms = new HashMap();
+ private static HashMap m_words = new HashMap();;
/**
* Constructor - initialise the command words.
*/
@@ -34,18 +33,6 @@ 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();
- }
}
/**
@@ -95,16 +82,4 @@ 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/Riddle.java b/src/com/bayviewglen/zork/Entities/Riddle.java
new file mode 100644
index 0000000..ee32fe4
--- /dev/null
+++ b/src/com/bayviewglen/zork/Entities/Riddle.java
@@ -0,0 +1,27 @@
+package com.bayviewglen.zork.Entities;
+
+public class Riddle {
+ private String question;
+ private String answer;
+
+ public Riddle() {
+ this.question = "The quick brown fox jumped over the lazy dog";
+ this.answer = "Okay";
+ }
+
+ public Riddle(String question, String answer) {
+ this.question = question;
+ this.answer = answer;
+ }
+
+ public String getQuestion() {
+ return question;
+ }
+
+ public String getAnswer() {
+ return answer;
+ }
+
+
+
+}
diff --git a/src/com/bayviewglen/zork/Entities/Riddler.java b/src/com/bayviewglen/zork/Entities/Riddler.java
new file mode 100644
index 0000000..d185c44
--- /dev/null
+++ b/src/com/bayviewglen/zork/Entities/Riddler.java
@@ -0,0 +1,13 @@
+package com.bayviewglen.zork.Entities;
+
+public class Riddler extends Entity {
+ Riddle riddle;
+ String message;
+
+ public Riddler(double health, double hunger, Riddle riddle) {
+ super(health, hunger);
+ this.riddle = riddle;
+ this.message = "I can help you in your quest, but only if you answer my riddle.";
+ }
+
+}
diff --git a/src/com/bayviewglen/zork/Game.java b/src/com/bayviewglen/zork/Game.java
index d208291..2f75a01 100644
--- a/src/com/bayviewglen/zork/Game.java
+++ b/src/com/bayviewglen/zork/Game.java
@@ -7,6 +7,8 @@ import java.util.HashMap;
import java.util.Scanner;
import com.bayviewglen.zork.Entities.Player;
+import com.bayviewglen.zork.Entities.Riddle;
+import com.bayviewglen.zork.Entities.Riddler;
import com.bayviewglen.zork.Entities.Enemies.Enemy;
import com.bayviewglen.zork.Items.*;
@@ -77,8 +79,9 @@ class Game {
try {
String question = riddle.split(",")[0].trim().substring(1, riddle.split(",")[0].length()-1).replaceAll("", ",");
String answer = riddle.split(",")[1].trim().substring(1, riddle.split(",")[1].length()-2).replaceAll("", ",");
- Riddle r = new Riddle(question, answer);
- room.addRiddle(r);
+ Riddle riddleObj = new Riddle(question, answer);
+ Riddler butler = new Riddler(100, 100, riddleObj);
+ room.addRiddler(butler);
}catch(Exception e) {
}
@@ -329,6 +332,8 @@ class Game {
System.out.println("Eat what?");
}
break;
+ case "talk":
+
case "take":
boolean hasAll = false;
for(String a : command.getOtherWords()) {
@@ -480,9 +485,6 @@ class Game {
}
}
}
- break;
- case "read":
-
break;
default:
return false;
diff --git a/src/com/bayviewglen/zork/Items/Riddle.java b/src/com/bayviewglen/zork/Items/Riddle.java
deleted file mode 100644
index 62edbdf..0000000
--- a/src/com/bayviewglen/zork/Items/Riddle.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.bayviewglen.zork.Items;
-
-public class Riddle extends Item{
- private String question;
- private String answer;
-
- public Riddle() {
- super(36, "Riddle", "A faded engraving on the wall. It may help you, or hurt you.", false, 0, 0);
- this.question = "The quick brown fox jumped over the lazy dog";
- }
-
- public Riddle(String question, String answer) {
- super(36, "Riddle", "A faded engraving on the wall. It may help you, or hurt you.", false, 0, 0);
- this.question = question;
- this.answer = answer;
- }
-
- public String getQuestion() {
- return question;
- }
-
- public String getAnswer() {
- return answer;
- }
-
-
-
-}
diff --git a/src/com/bayviewglen/zork/Parser.java b/src/com/bayviewglen/zork/Parser.java
index 1582bc0..71eedb7 100644
--- a/src/com/bayviewglen/zork/Parser.java
+++ b/src/com/bayviewglen/zork/Parser.java
@@ -36,6 +36,7 @@ class Parser {
String direction = "";
String item = "";
String enemy = "";
+ String
boolean open = false;
//String word2;
ArrayList words = new ArrayList();
diff --git a/src/com/bayviewglen/zork/Room.java b/src/com/bayviewglen/zork/Room.java
index 513b4ff..9e4d790 100644
--- a/src/com/bayviewglen/zork/Room.java
+++ b/src/com/bayviewglen/zork/Room.java
@@ -18,6 +18,8 @@ import java.util.Set;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+
+import com.bayviewglen.zork.Entities.*;
import com.bayviewglen.zork.Items.*;
class Room {
@@ -25,7 +27,7 @@ class Room {
private String description;
private HashMap exits; // stores exits of this room.
private ArrayList- items;
- private Riddle riddle;
+ private Riddler riddler;
private boolean locked;
/**
@@ -86,8 +88,8 @@ class Room {
/*
* Assigns a Riddle object to the Room
*/
- public void addRiddle(Riddle riddle) {
- this.riddle = riddle;
+ public void addRiddler(Riddler riddler) {
+ this.riddler = riddler;
}
/*