A downloadable summer project. for Windows

This was a Summer 2022 mini-project focused on testing Search Algorithms, specifically Depth Search and Dijkstra Algorithm. It was built using Visual Studio, the C# coding language, and the MonoGame Framework.

Running the Program

Opening the program will display a grid of blocks, which is the playspace for the experiment. Left Mouse Button will place walls, Right Mouse Button will destroy walls.

Pressing the Middle Mouse Button, or Control will allow your next click to place the Start or End of the Maze. 

Left Click will place the End of the maze, and Right Click will place the Start of the maze.

Generating a Maze

Press VBN, or to automatically generate a maze, which is generated using a Depth Search Algorithm

  • will generate a maze without a Start or End.
  • will generate a maze with Start at the Top-Left and End at the Bottom-Right.
  • will generate a maze with Start at Top-Center, and End at the Bottom-Center.
  • will generate a maze with Start at Left-Middle, and End at Right-Middle.

Pressing will run the maze generation algorithm frame-by-frame, animating the maze generating process.

Solving the Maze

  1. Pressing 1 or 5 will attempt to solve the maze with Dijkstra's Algorithm
  2. Pressing or 6 will attempt to solve the maze with a Depth Search Algorithm
  3. Pressing or 7 will use Dijkstra's Algorithm, except the solution will be able to Screen-Wrap 
  4. Pressing or 8 will use a Depth Search that is able to Screen-Wrap

Pressing 5, 6, 7, or 8 will run the corresponding algorithm frame-by-frame, animating the process of the search algorithm.

Changing the Maze Size

The size of the maze playspace can be edited with the buttons on the right. Click on the Tan-Colored box to input your desired Height or Width, and press the Change Size button to change the size of the space. 

The allowed size range is 3 - 299, though sizes above 7 and below 200 are more generally recommended.

Download

Download
Maze Generator.zip 3 MB

Leave a comment

Log in with itch.io to leave a comment.