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 SymbolCells and LetterCells into one or more CellClusters 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 LetterCells.
 
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.