MazeChallenge

The Game

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. 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:

Maze Challenge inherits the File menu from the framework:

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:

The Design

Maze Challenge instantiates the mvc framework.

The Implementation

Maze

Maze.java

MazeView

MazeView.java

MazeController

MazeController.java

Enhancements

Undo/Redo

File/New