https://github.com/angeluriot/Maze_solver
An interactive online maze generator and solver able to use several different algorithms.
https://github.com/angeluriot/Maze_solver
css html javascript maze-generator pathfinding
Last synced: 11 months ago
JSON representation
An interactive online maze generator and solver able to use several different algorithms.
- Host: GitHub
- URL: https://github.com/angeluriot/Maze_solver
- Owner: angeluriot
- License: mit
- Created: 2020-01-03T13:33:58.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-16T12:12:47.000Z (almost 2 years ago)
- Last Synced: 2024-11-06T12:58:57.581Z (over 1 year ago)
- Topics: css, html, javascript, maze-generator, pathfinding
- Language: JavaScript
- Homepage: https://angeluriot.com/maze_solver/
- Size: 18.5 MB
- Stars: 75
- Watchers: 4
- Forks: 16
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 🗺️ Maze solver




This repository contains the source code of a web page that can generate and solve mazes using several algorithms. You can also move the start and the finish or draw your own walls.
The web page is online at the address : **[angeluriot.com/maze_solver](https://angeluriot.com/maze_solver/)**.
# 📋 Summary
* **[📋 Summary](#-summary)**
* **[✨ Features](#-features)**
* **[🧪 Tests](#-tests)**
* [🌀 Maze generation algorithms](#-maze-generation-algorithms)
* [➡️ Pathfinding algorithms](#%EF%B8%8F-pathfinding-algorithms)
* **[🙏 Credits](#-credits)**
# ✨ Features
* You can choose the pathfinding algorithm of the maze solver :
* You can move the start and the finish :
* You can also add and remove walls on the grid :
* But the program is also able to generate a maze and you can choose the algorithm :
* The `Clear` button allows you to clear the grid and the `Start` button runs the pathfinding algorithm
# 🧪 Tests
## 🌀 Maze generation algorithms
* **Randomized Depth-First :**
* **Kruskal's Algorithm :**
* **Prim's Algorithm :**
* **Wilson's Algorithm** *(unbiased)* **:**
* **Aldous-Broder Algorithm** *(unbiased)* **:**
* **Recursive Division :**
## ➡️ Pathfinding algorithms
* **Breadth-First** *(Slow but gives the shortest path)* **:**
* **Bidirectional Breadth-First** *(A little less slow and gives the shortest path)* **:**
* **Greedy Best-First** *(Very fast but does not always give the shortest path)* **:**
* **Dijkstra** *(Slow but gives the shortest path)* **:**
* **A\*** *(Fast and gives the shortest path)* **:**
# 🙏 Credits
* [**Angel Uriot**](https://github.com/angeluriot) : Creator of the project.