Prototype deadline: 31-Jan-2006 11.59pm
Project deadline: 7-Feb-2006
Write a program that
1. Generates a completely connected NxM maze, where N,M > 0. N and M should be configurable by the user. Default values should be 50 and 50. Starting and ending points should be randomly choosen on the 0th and N-1th coloumn, respectively.
2. Implements three different maze traversal strategies: Breadth-first, Depth-First and A*.
3. Implements a graphical user interface that enables the user to
a. Choose N and M for the maze
b. See the generated maze, along with its starting and ending points
c. Trigger new maze generation
d. Trigger one of the three maze traversal strategies
e. See the “animated” maze as it is being traversed. The user should be able to see the decisions that the traversal algorithms make
f. Vary the speed of the maze animation.
The view-controller part of the design has been completely implemented by us. Your job will be to design and implement the concrete Maze class for your maze data structure, and to implement concrete Strategy classes for different maze algorithms.