Area

o1.adventure.Area
class Area(var name: String, var description: String)

The class Area represents locations in a text adventure game world. A game world consists of areas. In general, an “area” can be pretty much anything: a room, a building, an acre of forest, or something completely different. What different areas have in common is that players can be located in them and that they can have exits leading to other, neighboring areas. An area also has a name and a description.

Parameters

description

a basic description of the area (typically not including information about items)

name

the name of the area

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def addItem(item: Item): Unit

Places an item in the area so that it can be, for instance, picked up.

Places an item in the area so that it can be, for instance, picked up.

Attributes

def contains(itemName: String): Boolean

Determines if the area contains an item of the given name.

Determines if the area contains an item of the given name.

Attributes

Returns a multi-line description of the area as a player sees it. This includes a basic description of the area as well as information about exits and items. If there are no items present, the return value has the form "DESCRIPTION\n\nExits available: DIRECTIONS SEPARATED BY SPACES". If there are one or more items present, the return value has the form "DESCRIPTION\nYou see here: ITEMS SEPARATED BY SPACES\n\nExits available: DIRECTIONS SEPARATED BY SPACES". The items and directions are listed in an arbitrary order.

Returns a multi-line description of the area as a player sees it. This includes a basic description of the area as well as information about exits and items. If there are no items present, the return value has the form "DESCRIPTION\n\nExits available: DIRECTIONS SEPARATED BY SPACES". If there are one or more items present, the return value has the form "DESCRIPTION\nYou see here: ITEMS SEPARATED BY SPACES\n\nExits available: DIRECTIONS SEPARATED BY SPACES". The items and directions are listed in an arbitrary order.

Attributes

def neighbor(direction: String): Option[Area]

Returns the area that can be reached from this area by moving in the given direction. The result is returned in an Option; None is returned if there is no exit in the given direction.

Returns the area that can be reached from this area by moving in the given direction. The result is returned in an Option; None is returned if there is no exit in the given direction.

Attributes

def removeItem(itemName: String): Option[Item]

Removes the item of the given name from the area, assuming an item with that name was there to begin with. Returns the removed item wrapped in an Option or None in the case there was no such item present.

Removes the item of the given name from the area, assuming an item with that name was there to begin with. Returns the removed item wrapped in an Option or None in the case there was no such item present.

Attributes

def setNeighbor(direction: String, neighbor: Area): Unit

Adds an exit from this area to the given area. The neighboring area is reached by moving in the specified direction from this area.

Adds an exit from this area to the given area. The neighboring area is reached by moving in the specified direction from this area.

Attributes

def setNeighbors(exits: Vector[(String, Area)]): Unit

Adds exits from this area to the given areas. Calling this method is equivalent to calling the setNeighbor method on each of the given direction–area pairs.

Adds exits from this area to the given areas. Calling this method is equivalent to calling the setNeighbor method on each of the given direction–area pairs.

Parameters

exits

contains pairs consisting of a direction and the neighboring area in that direction

Attributes

See also
override def toString: String

Returns a single-line description of the area for debugging purposes.

Returns a single-line description of the area for debugging purposes.

Attributes

Definition Classes
Any

Concrete fields

var name: String