All Classes and Interfaces

Class
Description
 
 
 
 
A subtype of Room that is always locked and that can't be unlocked.
 
 
 
This class is used to record commands executed by the user.
This is a generic checked exception to indicate the death of something.
 
 
 
A subtype of Room that is always unlocked.
 
 
An Entity is the superclass of all the finer types of entities of the game.
This is a generic checked exception to indicate that something has worn out.
 
An interface for classes capable of loading a file located at a certain URI and return it as a String.
FileHandlerRepository holds factory methods that produce objects implementing the FileDownloader or FileUploader interface.
An interface for classes capable of uploading a String to a file in a location specified by a URI.
An instance of Food is an Item that restores a certain amount of health to the Player.
This exception is used to indicate that an operation couldn't be performed because an Inventory would have reached its maximum capacity.
This class holds the main loop of the Game and the Labyrinth.
This is a checked expression to indicate that the user lost to Game.
 
A Human is an NPC which is characterized by a certain Item.
The InteractiveItem interface is supposed to be implemented by an Item if it is supposed to be used at request by the user.
 
This interface is supposed to be implemented by classes which are supposed to be "interactive" at the beginning of a new turn.
The Inventory class is essentially a container of Item(s) with a maximum capacity.
This is a generic class to hold an InputStream and a PrintStream.
An Item is a subclass of an Entity which is additionally characterized by a certain weight.
ItemRepository holds a factory method that produces various subtypes of Items(s)
 
The Labyrinth class holds the state of the game's environment and supplies handy methods to access and make changes to the various components that make up the state.
It's the class responsible for Building a fully configured Labyrinth in a valid state.
 
Interface used by LabyrinthRepository to load Labyrinth.Builder(s) into itself, independently of the specific implementation of the loader.
This class holds a map composed of Labyrinth names and associated Labyrinth.Builder(s).
 
 
 
 
 
 
A Monster is an NPC which is characterized by a certain health and a certain Weapon.
 
An NPC is an Entity which implements some interactive behaviour at the beginning of a turn.
NPCRepository holds a factory method that produces various subtypes of NPC(s)
 
 
 
A Player is an Entity which is characterized by a certain health and an Inventory.
PlayerRepository holds a factory method that produces various subtypes of Player(s)
This is a generic class to hold a pair of integers which represent a 2D position with coordinates x and y.
 
 
A Room a container of Entity(ies) that is characterized by a character symbol.
 
RoomRepository holds a factory method that produces various subtypes of Room(s)
A subtype of Room that is locked at creation time until it's unlocked with a Key.
 
 
 
An interface for classes that produce a save string from the CommandLogger and the Labyrinth.
An interface for classes that interpret the format of a save string and return the save parameters.
SaveStringRepository holds factory methods that produce objects implementing the SaveStringProducer or SaveStringReader interface.
 
 
A subtype of Room that is always unlocked and that teleports the Player that comes into it in another Room.
 
 
 
 
UserCommandRepository holds a factory method that produces various subtypes of UserCommand(s)
This is a checked exception to indicate a winning condition to Game.
A subtype of Room that is always unlocked and that makes the Player win the game when it gets into it.
A Weapon is an instance of an Item additionally characterized by the damage the Weapon can deal and its usability level which represents the maximum amount of times the Weapon can be used.