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 Description: You are now on the second floor. The hallway is completely deserted. A few doors are left slightly ajar.
Items:
Exit Rooms:
Exit Rooms: s-Sir Henry Mill Pellat's Bedroom, w-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.

View File

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

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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()) {