All Classes and Interfaces
Class
Description
A
Message
sent by the server in order to communicate the acceptance of the associated client request.A message of type
Accepted
sent by the server in order to
tell the client the acceptance of a LeaveLobby
request.An enumeration which defines the assistant cards inside a
Player
's deck.A class representing the controller for the
ASSISTANT_CARDS
popup scene.A message of type
UserActionUpdate
sent by the server in order to
notify the client of the available AssistantCard
literals in the turn.A
Message
sent by the server in order to communicate the result of a LobbiesRequest
handling process.This class models the actual bag in the board game, which initially contains all the students discs.
Abstract class that represents character cards that don't hold students.
This class contains the game objects that every player can interact with.
A class representing the controller for the
BOARD
scene.A class which contains the representation of a game and its objects,
used as a payload for the
BoardUpdate
message.A message of type
UserActionUpdate
sent by the server in order to
enclose the status of the Board
of the game following a player action.This concrete implementation for the state design pattern involving
InfluenceCalculator
defines the Knight
's CharacterCard
effect.Represents the "centaur" character card and the corresponding effect.
The
CharacterCard
class is used to handle character effects in expert mode games.A class representing the controller for the
CHARACTER_CARDS
scene.A message of type
UserActionUpdate
sent by the server in order to
notify the client of the activation of a CharacterCard
effect.This is the main class for the client-side application.
This class represents a single client-server connection.
This interface defines a method (with overloading) to handle all different types of messages
that can be received by the client.
The possible colors of the student discs and the professors, with the relative
Color.realm
.This class represents the command line user interface (CLI).
This concrete implementation for the state design pattern involving
InfluenceCalculator
defines the influence calculation when it is not affected by any CharacterCard
.A class representing a
Message
sent while out-of-game.A class representing a
Message
sent after an event regarding disconnection or reconnection scenarios.Enumeration of the codes used to print colored text in the console.
Abstract class that represents the character cards that require to contain students to use when activating the effect.
A class representing a GUI application controller which can manage
*.fxml
files and
display data accordingly inside them.This class models a dining room, which is a student container with a maximum capacity of 10 students for every color.
A message of type
ConnectionUpdate
sent by the server in order to broadcast a reconnection event.This exception is thrown by
IslandGroup.putNoEntryTile(int)
to indicate that
a tile with the specified id
is already placed on the IslandGroup
.This concrete implementation for the state design pattern involving
InfluenceCalculator
defines the MushroomGuy
's CharacterCard
effect.Represents the "farmer" character card and the corresponding effect.
This class handles the control flow of a game according to the rules.
A class representing all the constants parameters of the game itself.
This class contains all the relevant information about a
Game
.This class represents the current state of a game, including all game objects and participating players.
A class representing a
Message
sent while in-game.A message of type
UserActionUpdate
sent by the server in order to notify the client of the end the game.This concrete implementation for the state design pattern involving
MessageHandler
defines how the game setup phase message GameSetupSelection
should be processed.A
GameMessage
sent by a client in order to inform the server the tower color and wizard chosen by the user.This class represents the JavaFX
Application
and handles stages, scenes and controllers.This class represents the graphical user interface (GUI).
This utility class is used to print various fragments of text in a grid-like structure.
A
ConnectionMessage
sent by a client in order to communicate the chosen (global and unique) username
and subsequently establish a connection with the server.An enumeration to enclose the
/help
command responses within a CLI client.A
Message
sent by a client in order to request the usage screen coded for the current application phase.A
Message
sent by the server in order to fulfill the needs of a HelpRequest
communication item.Represents the "herald" character card and the corresponding effect.
Represents the "herb granny" character card and the corresponding effect.
This exception is thrown by
IslandGroup
's merge
method to indicate that
the two specified islands do not share the same controller, and therefore cannot be merged.The influence calculation during the game is operated by a calculator entity.
Abstract class that represents character cards which effects alter influence calculations.
This exception is thrown whenever an illegal parameter referred to a game object
has been passed to a class or specific method.
This class represents a group of islands, which contains at least one island.
This exception is thrown by
Board
's island handling methods to indicate that no island matches the requested id.This exception is thrown when trying to remove a certain item that is no longer there.
Represents the "jester" character card and the corresponding effect.
A
ConnectionMessage
sent by a client in order to request the server to join a lobby.Represents the "knight" character card and the corresponding effect.
A message of type
UserActionUpdate
sent by the server in order to notify the client of the last round of the game.A
ConnectionMessage
sent by a client in order to request the server to leave the lobby.A class representing the controller for the
LOBBIES
scene.A
ConnectionMessage
sent by a client in order to request a list of the available server-side lobbies.A
ConnectionMessage
sent by a client in order to request the server to create a new lobby
with the specified number of players and game mode.A
Message
sent by the server in order to communicate the entry or exit of a user in the lobby.A class representing the controller for the
LOGIN
scene.Represents the "magic postman" character card and the corresponding effect.
A class representing the most non-specific communication item exchanged between client-side and server-side.
The processing of client-side commands by the controller is operated by a message handler entity.
Represents the "minstrel" character card and the corresponding effect.
Represents the "monk" character card and the corresponding effect.
A
GameMessage
sent by a client in order to inform the server of
the IslandGroup
literal for the Mother Nature pawn movement specified by the user in the current action phase.This concrete implementation for the state design pattern involving
MessageHandler
defines how the action phase message MotherNatureDestination
should be processed.A
GameMessage
sent by a client in order to inform the server of
a (single) student disc movement specified by the user in the current action phase.This concrete implementation for the state design pattern involving
MessageHandler
defines how the action phase message MoveStudent
should be processed.Represents the "mushroom guy" character card and the corresponding effect.
This exception is thrown by the
Server
class and by the classes of the controller package whenever no
connection can be retrieved for the desired client.This exception is thrown by
StudentContainer
's movement methods to indicate that
a movement of students between two containers was not completed.This exception is thrown by
GameManager.handleMotherNatureMovement(String)
to indicate that
the movement cannot be completed since the player does not have enough Mother Nature movements during this turn.This concrete implementation for the state design pattern involving
InfluenceCalculator
defines the Centaur
's CharacterCard
effect.A
Message
which acts to implement the disconnection handling behaviour.A
GameMessage
sent by a client in order to inform the server of
the AssistantCard
literal chosen by the user in the current planning phase.This concrete implementation for the state design pattern involving
MessageHandler
defines how the planning phase message PlayAssistantCard
should be processed.A
GameMessage
sent by a client in order to inform the server of
the CharacterCard
literal chosen by the user in the current action phase.This concrete implementation for the state design pattern involving
MessageHandler
defines how the action phase message PlayCharacterCard
should be processed.A class which represents a human being playing the game.
A
GameManager
helper class to handle the players of the game,
in particular for the variability of the turn order.An enumeration to map
*.fxml
files to a name.This class represents the association between each
Color
's professor and its respective owner.A
ConnectionMessage
sent by a client in order to request the server to reconnect to a lobby.A message of type
ConnectionUpdate
sent by the server in order to broadcast a reconnection event.A
Message
sent by the server in order to communicate the refusal of the associated client request.An enumeration to map
*.fxml
files to a name.This class models a
Player
's school board: it contains an entrance and a dining room
(both StudentContainer
s) and an integer representing the number of towers it contains.A class representing the controller for the
SCHOOLBOARD
scene.A
GameMessage
sent by a client in order to inform the server of
the cloud tile literal specified by the user in the current action phase.This concrete implementation for the state design pattern involving
MessageHandler
defines how the action phase message SelectCloud
should be processed.This class represents the application server thread.
Represents the "spoiled princess" character card and the corresponding effect.
This class provides a container for student discs.
Represents the "thief" character card and the corresponding effect.
An enumeration which defines the tower color chosen by a
Player
.A class representing the controller for the
TOWERS
popup scene.A
Message
sent by the server in order to notify a user's action.This abstract class represents the generic user interface, which is associated with a single
Client
.A message of type
UserActionUpdate
sent by the server in order to
notify the client of the available TowerColor
and Wizard
literals in the game.A class representing the controller for the
WAITING_ROOM
scene.An enumeration which defines the available card backs.
A class representing the controller for the
WIZARDS
popup scene.