Skip to content

Files

Latest commit

c39183d · Jan 6, 2020

History

History
45 lines (38 loc) · 2.08 KB

README.md

File metadata and controls

45 lines (38 loc) · 2.08 KB

Visual Maze Solver

Overview

This program is a basic maze solver that takes in the photo of a maze and outputs a photo of the solution. This program has an additional option to visualize the solving process to see how the pathfinding algorithms works.

The point of this project was to familiarize myself with graphs (networks of nodes), pathfinding algorithms (Dijkstra's and A*), multithreaded programming, and the SFML library.

Showcase

Small Maze 1 Small Maze 2
Generated Small Maze - Dijkstra Generated Small Maze 2 - Dijkstra

The following is the same maze solved with two different pathfinding algorithms

Dijkstra's A*
Generated 101x101 Maze - Dijkstra Generated 101x101 Maze - A Star

It should be noted that due to the fact that mazes usually have only one solution that is very intricate and does not always head directly towards the end goal, the advantage of A*'s direction heuristic tends to be marginalized. However, the advantage becomes more apparent in mazes with various turns and solutions such as the following.

Dijkstra's A*
Neutral Maze - Dijkstra Neutral Maze - A Star