Provides classes which define the geometries of mazes, and support filling a maze with a properly connected path.
A MazeGeometry can create a GeoDirectionIterator which enumerates the directions available. A rectangular geometry has 4 directions, a hexagonal geometry has 6 directions. More complex tilings (octagons and squares, for example) aren't supported well, and an extension is required to make the directions sensitive to the cell at which are are located.
A Coordinate defines the location of a cell in a maze, using a simple 2-dimensional coordinate system. The MazeGeometry must translate this information into graphical coordinates to draw the maze.
The class MazeGeometry is the abstract superclass.
There are two geometries available.