This application is a maze creator, generator and solver. The white squares are corridors and the gray/black squares are walls. Click or drag to toggle walls on (gray) or off (white). Black walls can't be removed. There is a grid of black dots across the entire board to prevent the maze from becoming offset. If you right-click the maze, you can move the start and end point. However, these points must always be in an "open" row and column (the ones not containing black dots). The slider is the zoom level, the number boxes are the width and height and the export button allows you to save the maze for printing purposes. The width and height indicate the number of "open" rows and columns and are at most 250 by 250.
There are 3 generation methods:
Fill - Fills the editable area with walls. You dig your paths into it.
Clear - Clears the editable area (grid of black points won't be removed). You build your walls to form a path.
Random - Uses a randomized version of the depth-first search algorithm. It randomly digs a path, without breaking a wall to a pathway behind it. When it gets stuck, it will backtrack until it finds a spot where it can continue again by branching off into a different direction.
The solve method uses the dead-end filling algorithm. It scans the area for dead-ends and fills them up until the next junction.
Both algorithms are animated (extremely fun to watch for large mazes). Download here!