changed some rooms

This commit is contained in:
vleevalerio
2019-05-10 13:40:13 -04:00
5 changed files with 44 additions and 10 deletions

View File

@@ -16,7 +16,7 @@ Exit Rooms: down-Second floor, s-Apple Hallway
Room Name: Porcupine Stairs (2nd floor) Room Name: Porcupine Stairs (2nd floor)
Room Description: You are now on the second floor. The hallway is completely deserted. A few doors are left slightly ajar. Room Description: You are now on the second floor. The hallway is completely deserted. A few doors are left slightly ajar.
Items: Items:
Exit Rooms: Exit Rooms: s-Sir Henry Mill Pellat's Bedroom, w-Bulb Room,
Room Name: Bulb 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. 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.

View File

@@ -12,6 +12,9 @@ s, direction
e, direction e, direction
up, direction up, direction
down, direction down, direction
d, direction
u, direction
eat, verb eat, verb
candlestick, item candlestick, item
look, verb look, verb
take, verb

View File

@@ -89,7 +89,7 @@ class Command {
} }
public boolean hasItem(){ public boolean hasItem(){
return item.equals(""); return !item.equals("");
} }
public boolean hasDirection() { public boolean hasDirection() {
return CommandWords.isDirection(direction); return CommandWords.isDirection(direction);
@@ -97,4 +97,7 @@ class Command {
public String getDirection() { public String getDirection() {
return direction; return direction;
} }
public String getItem() {
return item;
}
} }

View File

@@ -1,6 +1,8 @@
package com.bayviewglen.zork.Entities; 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; import java.util.ArrayList;
public class Player extends Entity{ public class Player extends Entity{
@@ -12,11 +14,20 @@ public class Player extends Entity{
super(); super();
} }
public boolean addToInventory(Item item){ public boolean addToInventory(String item){
if(currentInventoryWeight + item.getWeight() < INVENTORY_CAPACITY){ Class<?> clazz;
inventory.add(item); Item object;
System.out.println(item.getName() + " add"); try {
return true; 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; return false;
} }

View File

@@ -6,6 +6,7 @@ import java.lang.reflect.Constructor;
import java.util.HashMap; import java.util.HashMap;
import java.util.Scanner; import java.util.Scanner;
import com.bayviewglen.zork.Entities.Player;
import com.bayviewglen.zork.Items.*; import com.bayviewglen.zork.Items.*;
/** /**
@@ -26,6 +27,7 @@ import com.bayviewglen.zork.Items.*;
*/ */
class Game { class Game {
private Parser parser; private Parser parser;
private Player player;
private Room currentRoom; private Room currentRoom;
// This is a MASTER object that contains all of the rooms and is easily // This is a MASTER object that contains all of the rooms and is easily
// accessible. // accessible.
@@ -110,11 +112,12 @@ class Game {
public Game() { public Game() {
try { try {
initRooms("data/Rooms.dat"); initRooms("data/Rooms.dat");
currentRoom = masterRoomMap.get("ROOM_1"); currentRoom = masterRoomMap.get("CIRCLE_ROOM");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
parser = new Parser(); parser = new Parser();
player = new Player();
} }
/** /**
@@ -171,6 +174,20 @@ class Game {
case "eat": case "eat":
System.out.println("Do you really think you should be eating at a time like this?"); System.out.println("Do you really think you should be eating at a time like this?");
break; 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": case "look":
System.out.print("Items: "); System.out.print("Items: ");
for(Item i : currentRoom.getItems()) { for(Item i : currentRoom.getItems()) {