From 9b1cd284ee6b6b8b82799b0ff28f6a888a6f99c9 Mon Sep 17 00:00:00 2001 From: jslightham <31053827+jslightham@users.noreply.github.com> Date: Fri, 10 May 2019 12:54:16 -0400 Subject: [PATCH] fixed rooms, worked on take command --- data/rooms.dat | 98 +++++++++---------- data/words.dat | 5 +- src/com/bayviewglen/zork/Command.java | 5 +- src/com/bayviewglen/zork/Entities/Player.java | 23 +++-- src/com/bayviewglen/zork/Game.java | 19 +++- 5 files changed, 90 insertions(+), 60 deletions(-) diff --git a/data/rooms.dat b/data/rooms.dat index 1eab197..8fb5ca5 100644 --- a/data/rooms.dat +++ b/data/rooms.dat @@ -1,173 +1,169 @@ Room Name: Circle Room Room Description: You are in the circular room. The windows to the west are bolted shut and curtains cover them. To the east, a hallway. -Exit Rooms: w-Apple Hallway -Items: Candlestick, Candlestick - +Items:Candlestick,Candlestick +Exit Rooms: W-Apple Hallway Room Name: Apple Hallway Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. -Exit Rooms: e-Circle Room, n-Porcupine Stairs -Items: - +Items: +Exit Rooms: E-Circle Room, N-Porcupine Stairs Room Name: Porcupine Stairs Room Description: You are in the Porcupine Stairs. The stone, cold walls are trapped in darkness. Below you is the second floor and above you is the third floor. -Exit Rooms: up-Third floor, down-Second floor -Items: - +Items: +Exit Rooms: U-Third floor, D-Second floor Room Name: Second Floor Room Description: You are now on the second floor. The hallways are empty, but some doors are slightly ajar. -Exit Rooms: n-Porcupine Stairs, s-Sir Harry Mill Pallat's Bedroom, w-Bulb Room, e-Pipe Room - +Items: +Exit Rooms: N-Porcupine Stairs, S-Sir Harry Mill Pallat's Bedroom, W-Bulb Room, E-Pipe Room Room Name: Bulb Room Room Description: You are in the Bulb Room. There is a ragged red rug with a noticeable lump in the middle. One window facing north is bolted shut. -Exit Rooms: s-linen closet, e-Second Floor, w-Lady Pellat's Bedroom -Items: Garlic - +Items:Garlic +Exit Rooms: S-linen closet, E-Second Floor, W-Lady Pellat's Bedroom Room Name: Lady Pellat's Bedroom Room Description: You are now in Lady Pellat's Bedroom. A four-post bed with elegant pink bedsheets lies in the middle of the room. A golden wardrobe sits along the east wall with a few robes hanging out. -Exit Rooms: n-Sitting Area, s-Guest Bedroom, e-Bulb Room Items: Robes - +Exit Rooms: N-Sitting Area, S-Guest Bedroom, E-Bulb Room Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Round Room (third floor) Room Description: You are in the round room. The windows to the west are bolted shut and curtains cover them. To the east, a hallway. +Items: Exit Rooms: E-Hallway 3 - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor - Room Name: Hallway 3 Room Description: You are in an empty hallway. Many closed doors surround you. To the west is the round room and north is the stairs. You cannot see what they lead to. +Items: Exit Rooms: W-Round Room (third floor), N-Stairs to second floor diff --git a/data/words.dat b/data/words.dat index 7aa696f..a65d149 100644 --- a/data/words.dat +++ b/data/words.dat @@ -12,6 +12,9 @@ s, direction e, direction up, direction down, direction +d, direction +u, direction eat, verb candlestick, item -look, verb \ No newline at end of file +look, verb +take, verb \ No newline at end of file diff --git a/src/com/bayviewglen/zork/Command.java b/src/com/bayviewglen/zork/Command.java index 1e9766e..ead2e74 100644 --- a/src/com/bayviewglen/zork/Command.java +++ b/src/com/bayviewglen/zork/Command.java @@ -89,7 +89,7 @@ class Command { } public boolean hasItem(){ - return item.equals(""); + return !item.equals(""); } public boolean hasDirection() { return CommandWords.isDirection(direction); @@ -97,4 +97,7 @@ class Command { public String getDirection() { return direction; } + public String getItem() { + return item; + } } diff --git a/src/com/bayviewglen/zork/Entities/Player.java b/src/com/bayviewglen/zork/Entities/Player.java index 94007f2..45d42b4 100644 --- a/src/com/bayviewglen/zork/Entities/Player.java +++ b/src/com/bayviewglen/zork/Entities/Player.java @@ -1,6 +1,8 @@ package com.bayviewglen.zork.Entities; -import com.bayviewglen.zork.Items.Item; +import com.bayviewglen.zork.Items.*; + +import java.lang.reflect.Constructor; import java.util.ArrayList; public class Player extends Entity{ @@ -12,11 +14,20 @@ public class Player extends Entity{ super(); } - public boolean addToInventory(Item item){ - if(currentInventoryWeight + item.getWeight() < INVENTORY_CAPACITY){ - inventory.add(item); - System.out.println(item.getName() + " add"); - return true; + public boolean addToInventory(String item){ + Class clazz; + Item object; + try { + clazz = Class.forName("com.bayviewglen.zork.Items." + item.trim()); + Constructor ctor = clazz.getConstructor(); + object = (Item) ctor.newInstance(); + if(currentInventoryWeight + object.getWeight() < INVENTORY_CAPACITY){ + inventory.add(object); + + return true; + } + } catch (Exception e) { + return false; } return false; } diff --git a/src/com/bayviewglen/zork/Game.java b/src/com/bayviewglen/zork/Game.java index 62f872a..e52d85e 100644 --- a/src/com/bayviewglen/zork/Game.java +++ b/src/com/bayviewglen/zork/Game.java @@ -6,6 +6,7 @@ import java.lang.reflect.Constructor; import java.util.HashMap; import java.util.Scanner; +import com.bayviewglen.zork.Entities.Player; import com.bayviewglen.zork.Items.*; /** @@ -26,6 +27,7 @@ import com.bayviewglen.zork.Items.*; */ class Game { private Parser parser; + private Player player; private Room currentRoom; // This is a MASTER object that contains all of the rooms and is easily // accessible. @@ -110,11 +112,12 @@ class Game { public Game() { try { initRooms("data/Rooms.dat"); - currentRoom = masterRoomMap.get("ROOM_1"); + currentRoom = masterRoomMap.get("CIRCLE_ROOM"); } catch (Exception e) { e.printStackTrace(); } parser = new Parser(); + player = new Player(); } /** @@ -171,6 +174,20 @@ class Game { case "eat": System.out.println("Do you really think you should be eating at a time like this?"); break; + case "take": + if(command.hasItem()) { + if(player.addToInventory(command.getItem())) { + System.out.println("Taken"); + }else { + System.out.println("You cannot carry any more!"); + } + + }else { + System.out.println("Take what?"); + } + + break; + case "look": System.out.print("Items: "); for(Item i : currentRoom.getItems()) {