Generate completely unique mazes and solutions at will.
This program uses a two-dimensional array of squares, with varying borders (depending on connections to neighboring ones).
The maze is essentially a graph of squares, and connections are made by random traversal.
When generating the maze: once a square is visited, it cannot be visited again. Therefore, there is only one way in and out of a square, and there is only one unique path from any square to another.
There are three difficulties from which you can select. Each maze will begin at the top left and end at the bottom right (green to red).