Coding along with "Mazes for Programmers" by Jamis Buck
Updates:
July 2022
- Upgraded code to .NET 6.0.
- Changed from using System.Drawing to ImageSharp package. This takes care of the cross-platform issues noted below (GDI+ is no longer required (which is good because GDI+ is not supported in .NET 6 for non-Windows platforms).)
- Addes scaling for output images. Smaller grids have larger cells; larger grids have smaller cells. This makes the image generation faster for larger grids.
Jan 2020:
- Moved code to .NET Core and added a web interface.
- Running the "MazeWeb" project provides a parameterized way to generate mazes. Graphical mazes are shown in the browser.
Cross-Platform Note:
This project uses GDI+. If you're running on macOS or Linux and you get a GDI+ error, just follow the advice in this article: SOLVED: System.Drawing .NETCore on Mac, GDIPlus Exception
Articles
Building the Mazes:
- Approaching Functional Programming Completely Wrong
- More Maze Programming: Heat Map
- More Maze Programming: A Non-Biased Algorithm
- More Maze Programming: Adding Some Bias for Longer Paths
.NET Core Conversion:
Web Application:
- Generating Mazes in a Browser
- Building a Web Front-End to Show Mazes in ASP.NET Core MVC
- Video Walkthrough: CONDG Jan 2021 - ASP.NET MVC for Absolute Beginners
Note: If you've seen the "conventions" part of the presentation, you can start at 52:00 to see the MazeWeb part.