All Classes and Interfaces

Class
Description
Base class for 3D maze generators.
Base class for maze generators.
Base class for search algorithms.
A state in a search problem.
Best First Search algorithm.
Breadth First Search.
Depth First Search.
Generates an empty maze (no walls).
 
Server strategy: receives requested maze dimensions as int[] {rows, columns}, generates a maze with MyMazeGenerator, and returns it as a compressed byte array.
A 3D maze generation algorithm.
A maze generation algorithm.
A search problem: knows its start, its goal, and how to enumerate the legal successors of any given state.
A search algorithm: solves a problem given as an ISearchable and reports a name and the number of states it evaluated along the way.
What the server does with a connected client's streams.
Plain-class entry point.
A 2D maze: an int grid where 1 is a wall and 0 is a passable cell, with a start position and a goal position.
A 3D maze: an int cube where 1 is a wall and 0 is a passable cell, with a start position and a goal position.
True-3D maze visualizer built on a JavaFX SubScene with a PerspectiveCamera.
A state in the 3D maze search problem: a (depth, row, column) cell.
JavaFX application entry point.
A resizable JavaFX Canvas that renders a Maze, the player, the goal, an optional Solution overlay, and an optional set of visited cells for the search visualizer.
High-level model facade for the UI / ViewModel.
A state in the maze search problem: a (row, column) cell.
Controller for MazeView.fxml.
Bridge between MazeModel and the JavaFX View.
 
The eight directions a player can move in a 2D maze, mapped to the numeric keypad layout so the controller can dispatch a NumPad key straight to a direction without a switch:
Decorator that wraps another OutputStream and applies a streaming run-length encoding.
Decorator that reverses MyCompressorOutputStream: reads (count, value) pairs from the underlying stream and re-emits count copies of value on each read.
Iterative randomized DFS (recursive backtracker) extended to 3D.
Iterative randomized DFS (recursive backtracker).
A small accept-loop server that dispatches each accepted client to an ExecutorService thread pool.
A row/column position inside a Maze.
A depth/row/column position inside a Maze3D.
 
Round-trip demo against the two servers started by RunMazeServer: asks for a maze on port 5400, then asks port 5401 to solve it, and prints the maze + the solution length + a few node positions.
 
Boots two MyServer instances: one hosting GenerateMazeStrategy on port 5400, one hosting SolveMazeStrategy on port 5401.
 
 
Object Adapter that exposes a Maze as an ISearchable.
Object Adapter that exposes a Maze3D as an ISearchable.
Scatters walls randomly across the grid, then carves a guaranteed path from start to goal so the maze always has a solution (and usually many).
The path returned by a search algorithm: an ordered list of states from start to goal (inclusive).
Caches solved Solutions on disk keyed by SHA-256 of the maze's byte representation.
Server strategy: receives a Maze, returns a Solution.
Audio playback.