All Classes and Interfaces
Class
Description
The
App
class is the main entry point for the JavaFX-based puzzle.Represents the fundamental interactive unit within the game.
The
IllegalCharAddition
class is a specific type of
IllegalArgumentException
that is thrown when an invalid character
is added to a cell.The
CellCluster
interface defines the contract for managing a
collection of Cell
objects within the context of the hacking
mini-game.The
ClusterCloseException
class represents an exception that is
thrown when there is an issue closing a cell cluster within the hacking
mini-game grid.The
CellGrid
class is responsible for managing a grid of Cell
objects, including their creation, clustering, and global operations.The
CellManager
interface defines the operations that any class must
implement to manage Cell
objects.The
CellView
class is a graphical representation of a Cell
object within the JavaFX framework.A custom panel that extends
HBox
to organise and display two
CenterPanel.HexPanel
instances and two CenterPanel.CellPanel
instances.Strategy interface for clustering
SymbolCell
s and LetterCell
s
into one or more CellCluster
s based on the implemented strategy.The
Difficulty
enum defines five distinct levels of difficulty for
categorising word lists within the application.The
Dimension
record represents a two-dimensional measurement with
width
and height
components.A strategy for clustering symbols and letters within a collection of
Cell
objects.The
GameConstants
class defines a set of constants used throughout
the game application.The
GameState
class represents the state of the game and serves as
the model for the application.A comprehensive utility class designed for performing various operations on
2D arrays in Java.
The
InfiniteCurveCanvas
class is a custom implementation of the
Canvas
component that animates the drawing of the Hilbert Curve, a
type of space-filling curve.Provides a strategy for generating a jumbled string from the provided text
and specified size.
Represents a cell that contains a single alphabetic character within a grid
or similar structure.
A specialised implementation of
AbstractCluster
that groups
LetterCell
s.The
MainController
class serves as the central controller within the
game, managing the interactions between the game's view (UI) components and
the underlying game logic and data models.The
MainView
class represents the main user interface of the
application.Represents a single point in 2D space.
Implements the
JumbleStrategy
to generate a jumbled string by
inserting random symbols between words from an input list to achieve a
specified size.The
StaticWordSet
class is responsible for managing a set of words,
providing functionality such as random selection, shuffling, and generating
strings with random symbols inserted between words.The
StringUtil
class provides a collection of utility methods for
performing common operations on strings.The
SymbolCell
class is a specialised subclass of
AbstractCell
designed to hold non-letter ASCII characters,
particularly symbols.The
SymbolCluster
class extends AbstractCluster
and is
designed to manage a collection of SymbolCell
objects.The
TerminalPanel
class represents a console-like output area within
the game's user interface.The
TopPanel
class represents the top panel of the game UI, extending
the VBox
layout.The
WordBank
class provides a repository of word lists categorised by
difficulty levels.The
WordSet
interface defines the contract for managing a set of
words with functionalities such as retrieving the total number of characters,
getting a randomly selected "correct" word, shuffling the word list, and
generating a jumbled string with symbols inserted between the words.