A player moves from room to room through a seemingly endless maze, desperately seeking the exit before he runs out of time.
Picture the maze as a grid of cells.
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
1 |
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
P |
|
|
|
|
|
|
5 |
|
|
|
|
|
|
E |
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
The player (P) can move to the neighboring cell to the north, south, east, or west, wrapping around if he attempts to go off the grid (the grid shown above is only 10x10, but it can be any size). If and when the player reaches the exit cell (E), he escapes the maze. However, each step depletes the player's limited energy. If he runs out of energy before finding the exit, he expires.
Here's the Maze Challenge command console:

Not shown is the Maze Challenge command menu, which contains the following items:
North, East, West, South, Reset
Of course these items merely duplicate the buttons.
Here's the Maze Challenge file menu:

Players can save games in progress to a file, and load saved games from files:

The player is informed if he expires or escapes by a special notification dialog:


Implement Maze Challenge according to the above design. Turn in you assignment as an Eclipse project that can be run on any Eclipse platform. Be sure to test your work as assignments that won't run on the grader's Eclipse platform won't receive credit!