Contents

File Menu

Maze Menu

Using the Mouse

How it works


File Menu

New

Open

Save

Save As...


Maze Menu

Iterations

Size

Restore

Random


How the Program Works
How It Works

This program uses cellular automata to iteratively solve the maze. In cellular automata, each cell is considered to be smart enough to decide it's own fate. It looks at it's immediate neighbors and uses that information to either change it's state or stay the same. This is usually implemented with a few simple rules, such as "since all my neighbors are at state 3, I will change to state 3 also".

Each cell can be in one of two states: wall cell, or aisle cell. You can change the cells state yourself using the mouse by pressing the left button on the cell you wish to change.

In this program, each cell has two rules to apply:

If three or more neighbors are wall cells, then become a wall cell.

If two neighbors are wall cells, and becoming a wall cell will not block the path, then become a wall cell.


Using the Mouse

The left button will switch the block currently pointed at from one state to the other. If you hold down the button and drag it across the maze, each block passed over will also be toggled. Note that you can toggle a block passed over back to it's original state merely by passing over it again before letting up the button.

The right button will activate the solution iterations. The number of iterations to be performed can be set using the Iterations menu item in the Maze menu.


New

This menu item will create a new window with a filled in maze after getting the size of the new maze from the user.


Open

This menu item will bring up the standard file dialog and ask the user which maze file to open, then create a new window with the selected maze inside.


Save

This menu item will save the maze's current state to a file with the current file name. Note that it doesn't check to see if there is already a file by that name, and can therefore overwrite files.


Save As

This menu Item will bring up the standard file dialog and prompt the user for a file name. An extension type of 'maz' is suggested, but not enforced.


Iterations

This menu item brings up a dialog box in which the user types in how many iterations should be performed per click of the right mouse button.


Size

This menu item asks the user how large each cell should appear on the screen.


Restore

This menu item will restore the maze to it's original state. The original state is defined as the last 'saved' state. Saving the maze will create a new original state.


Random

This menu item will scramble the states of the individual cells. This can be a good start to developing a new maze, but seldom makes one with a solution path.


Wall

A wall cell is a cell that is in the wall state. It forms part of the wall of the maze.


Aisle

An aisle cell is open, and considered part of the path.