All Classes and Interfaces

Class
Description
This class is the parent class of all tiles in the game.
This class is used to define the actions that can be performed by the user.
an actor abstract class that all moving creatures must inherit, including hero.
Main class of the application.
This utility class is responsible for saving and loading the classes in the App package.
A class representing blue key which when picked up by hero, can be used to unlock blue locks.
A class representing a blue lock that can be unlocked by a blue key.
This class contains a set of static method to check the integrity of the game.
Coin class is a collectible item in the game that the hero must collect to be able to finish the level.
This class is used to store the commands that the user can input into the log panel.
Configuration class for the App class.
Package-private class for Controller class for the App class.
The key object that represents the key pressed.
Direction enum class that stores all possible moving directions for actors in this game.
Represents a complete game state, with levels.
enum for domainEvents that the app will be informed of when triggered.
enum to inform us of the current state of the game integrity check uses this frequently to check rules of the game accordingly.
This utility class is responsible for saving and loading classes in the Domain package.
An abstract class that all door tiles must inherit.
A class representing an empty INVENTORY tile.
A class representing a exit door that represents the exit door when all coins/treasures aren't yet collected.
A class representing an exit door that represents the exit door when all coins/treasures are collected and the player can pass through it to pass the level.
A class representing an empty floor tile, which both hero and enemy can move onto.
This class is used to represent the timer for the game, it is also used to clock the time, and define what happens with each ping during a game loop.
A class representing green key which when picked up by hero, can be used to unlock green locks.
A class representing a green lock that can be unlocked by a green key.
Graphical User Interface class responsible for all GUI components and logic used by the App.
A class that represents the hero/player in the game.
This class represents a info tile which when only hero can move on, and will display hints for the current level.
Class for intercepting System.out calls.
The Inventory class represents the space that a player holds items that they have picked up.
 
Everything that the player can pick up, including all kinds of key, all kinds of treasure and tool, must extend this class.
This is an abstract class for all kinds of keys, and each key must have a KeyColor enum associated with it.
enum for matching doors and keys, to avoid for checking for types.
The level class is used to group all information related to a level together.
location for maze tiles, index 0 to max - 1.
This utility class is responsible for saving and loading logs.
A record that represents a log entry.
This class is used to create a log panel that the user can input commands into.
Main method of the application.
A class that holds a 2d array of tiles representing the maze in the game.
makes a jPanel that can be added to a JFrame.
This class is used to play music in the game.
This class is made to be used as a somewhat empty tile template for various circumstances internally in domain(such as in inventory).
A class representing orange key which when picked up by hero, can be used to unlock orange locks.
A class representing a orange lock that can be unlocked by a orange key.
Generic Pair record class that has a key and value defined by the user.
This class is only made to aid the renderer with drawing out of bound tiles, no hero, enemy or any other tile should be able to move on this tile.
Class for recording actions in a game.
This utility class is responsible for saving and loading recorder timelines for the Recorder package.
A generic record timeline class that stores a series of events in chronological order.
Class for replaying a recorded game.
A generic timeline class that replays a series of events in chronological order.
This class is for holding all the images used in the game.
This enum is for holding all the images used in the game.
This is the tile interface that every tile in this game must implement, and it has a wide range of methods most with default implementations.
A class with some information that all tiles need to recieve to be initiated.
Each tile object will have a type field, which helps to determine what the tile is.
change the array to be centered on the player.
A class representing a wall, which hero and enemy actors cannot move on.
A class representing yellow key which when picked up by hero, can be used to unlock yellow locks.
A class representing a yellow lock that can be unlocked by a yellow key.