adventure.rooms
Class HallwayRoom

java.lang.Object
  extended by adventure.rooms.HallwayRoom
All Implemented Interfaces:
Room

public class HallwayRoom
extends java.lang.Object
implements Room

This is the class for the hallway in the game. It implements Room so it must have the same methods defined as Room does. The hallway has exits to the north and south. However, to go north the player must have acquired the flashlight and turned it on or they will not have the option to go north.

See the Room interface and the GameState class for details about how room objects work.


Constructor Summary
HallwayRoom()
          The constructor for the hallway object.
 
Method Summary
 void draw(GameState game, java.awt.Graphics g, int windowWidth, int windowHeight)
          This is the method for putting the picture associated with this room on display.
 java.lang.String getName()
          Returns the name of this room object as a String.
 void outputDescription(GameState game, OutputPanel output)
          Prints text describing this room to the output panel.
 boolean takeAction(GameState game, OutputPanel output, java.lang.String verb, java.lang.String noun)
          This is the method that will get called when the player enters valid input for exiting this room.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HallwayRoom

public HallwayRoom()
The constructor for the hallway object. It just loads the correct image for this room.

Method Detail

getName

public java.lang.String getName()
Returns the name of this room object as a String. Every room in the game must have a unique, case-insensitive name.

Students may often call this method.

Specified by:
getName in interface Room
Returns:
the name of this room object

outputDescription

public void outputDescription(GameState game,
                              OutputPanel output)
Prints text describing this room to the output panel. Students should give every room an interesting description.

It would be uncommon for students to call this method.

Specified by:
outputDescription in interface Room
Parameters:
game - the GameState object that is running / keeping track of this game
output - the output panel where text will be added

takeAction

public boolean takeAction(GameState game,
                          OutputPanel output,
                          java.lang.String verb,
                          java.lang.String noun)
This is the method that will get called when the player enters valid input for exiting this room. They can go north if they have a flashlight or south which call setCurrentRoom with the new room as a parameter. If the player enters invalid input this will do nothing and return false.

Specified by:
takeAction in interface Room
Parameters:
game - the GameState object that is running / keeping track of this game
output - the output panel where text will be added
verb - the verb of the action, such as "get"
noun - the noun of the action, such as "batteries"
Returns:
true if the action was handled in this method, false otherwise

draw

public void draw(GameState game,
                 java.awt.Graphics g,
                 int windowWidth,
                 int windowHeight)
This is the method for putting the picture associated with this room on display. roomPicture is set in the constructor so it will always have a valid picture to use. If the player does not have a flashlight it will set the picture to be pitch black as a motive to leave.

Specified by:
draw in interface Room
Parameters:
game - the GameState object that is running / keeping track of this game
g - the Graphics object to do the drawing
windowWidth - the width of the window
windowHeight - the height of the window