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.

Value parameters:
description

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

name

the name of the area

class Object
trait Matchable
class Any

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.

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.

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.

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.

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.

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.

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.

Value parameters:
exits

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

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.

Definition Classes

Concrete fields