- Introducing Our Basic Grid
- Implementing the Grid Class
- Implementing the Binary Tree Algorithm
- Displaying a Maze on a Terminal
- Implementing the Sidewinder Algorithm
- Rendering a Maze as an Image
- Implementing Dijkstra’s
- Finding the Shortest Path
- Making Challenging Mazes
- Coloring Your Mazes
- Implementing Aldous-Broder
- Implementing Wilson’s Algorithm
- Implementing Hunt-and-Kill
- Counting Dead Ends
- Implementing the Recursive Backtracker
- Implementing a Mask
- ASCII Masks
- Image Masks
- Drawing Polar Grids
- Implementing a Polar Grid
- Implementing a Hex Grid
- Displaying a Hex Grid
- Implementing a Triangle Grid
- Displaying a Triangle Grid
- Implementing a Cost-Aware Dijkstra’s Algorithm
- Introducing Weaves and Insets
- Implementing the OverCell Class
- Implementing the UnderCell Class
- Implementing the WeaveGrid Class
- Implementing Randomized Kruskal’s Algorithm
- Implementing Better Weaving
- Simplified Prim’s Algorithm
- True Prim’s Algorithm
- The Growing Tree Algorithm
- Implementing Eller’s Algorithm
- Implementing Recursive Division
- Making Rooms with Recursion
- Adding a Third Dimension
- Displaying a 3D Maze
- Cylinder Mazes
- Cube Mazes
- Sphere Mazes