All Classes

Class Description
Apollo
Represents the card of the God Apollo.
Artemis
Represents the card of the God Artemis.
Athena
Represents the card of the God Athena.
Atlas
Represents the card of the God Atlas.
Board
Represents the Board of the game.
BoardClient
Representation of the game Board client-side.
BoardController
Controller of the board GUI scene.
Cell
This class represents a board's cell structure.
CellClient
Allows to represent the Cell object client-side.
Charon
Represents the card of the God Charon.
ChooseGodController
Controller class of the GUI choose god scene.
Cli
Allows to print to the client what the game asks and wants to show to him.
CliColor
Contains the references of the special the characters and their color used in the Cli.
Client
Client wants to play Santorini and tries to establish a connection to the server.
ClientHandler
Handles all interactions between the server and a client.
ClientViewObserver
Lets a class know the evolution of the states inside the game.
Color
Defines the available colors in the game.
ColorController
Manages the scene of the choice of the colors for the game.
ConnectController
Manages the connection scene of the GUI.
Demeter
Represents the card of the God Demeter.
EndGameController  
Game
Represents the game with its main components.
GameController
Controls the flow of the setup of the game.
God
This abstract class allows to see the Gods' main methods and their default implementation.
GodController
Manages communication between the Gods and the clients.
Gui
Graphic User Interface chosen by the player to run the app.
GuiManager
Manages the display of requests and answers to the server.
HeartbeatClient
Allows the client to send a ping message to the server, to let him know that the client is still alive.
HeartbeatServer
Sends ping -- here called pong as opposed to ping from client to server) -- to client in order to let a disconnected client know that he is no longer connected.
Hephaestus
Represents the card of the God Demeter.
Hera
Represents the card of the God Hera.
Hestia
Represents the card of the God Hestia.
Lobby
Lets any newly connected clients join an existing game or create a new one.
LobbyController
Manages the lobby scene of the GUI.
Message
Allows to serialize and translate message methods sent by the server to the client over the network.
Minotaur
Represents the card of the God Minotaur.
NetworkHandler
Handles connection to the server.
NicknameController
Manages the Nickname scene of the GUI.
NumberOfPlayersController
Manages the choose number of players scene of the GUI.
Pan
Represents the card of the God Pan.
Player
A player of the game.
PlayerClient
Allows to store in the client information about the players.
Prometheus
Represents the card of the God Prometheus.
Server
Server of the game.
Sex
Sex of a worker.
StartPlayerController
Manages the scene of the GUI where the challenger chooses the starting player for the game.
Triton
Represents the card of the God Triton.
TurnHandler
Allows to handle the turns of the players, from the beginning, when the game parameters need to be set, until when one of the players wins the game.
UnableToBuildException
Thrown when the selected worker is unable to build in his turn.
UnableToMoveException
Thrown when the selected worker is unable to build in his turn.
View
Interface that defines the methods of the interfaces (CLI and GUI) that need to be implemented to guarantee a correct game flow.
VirtualView
Represents a mock instance of the client server side.
WelcomeController
Welcome scene of the game.
WinException
Thrown when a player wins the game.
Worker
The worker owned by a player.
WorkerBuildMap
Represents the positions adjacent to the worker, in which he may or may not build, depending on the boolean value of the cell.
WorkerClient
The worker representation client side.
WorkerMap
A 3x3 matrix that represents the cells adjacent to the worker.
WorkerMoveMap
Represents the positions adjacent to the worker, in which he may or may not move, depending on the boolean value of the cell.
Zeus
Represents the card of the God Zeus.