pathfinding-lab
pathfinding-lab copied to clipboard
Run, test and compare all algorithms and heuristic functions
Pathfinding Laboratory
A playground where you can run, test and compare pathfinding algorithms and heuristic functions.
Visit the website running on DigitalOcean and try it out.
The project is written in ASP.NET Core MVC/Web API and TypeScript. The algorithm part of the project is based on LINQ to A*: a POC about pathfinding algorithms written in C# and used with LINQ expressions.
Features
- An editable, retro RPG-style map where you can place various obstacles, creating whatever maze you want.
- Five algorithms and three heuristic functions available for playing with (more to be added).
- Right-clicking on two positions to find a path (can be undone).
- An overlay grid with animation to show expanded nodes and depths(levels).
- A line chart that fully illustrates the evolution of Open List during the process.
- A code snippet that demonstrates LINQ statement using LINQ to A*.
Build the project
cd src/Heuristic.PathfindingLab/Heuristic.PathfindingLab/
npm i -s d3
npm i -s @types/d3
tsc -p tsconfig.json
dotnet build Heuristic.PathfindingLab.csproj
Build Docker image
cd src/Heuristic.PathfindingLab/Heuristic.PathfindingLab/
docker build -t pathfinding-lab .
Run Dockerized instance
docker pull rvhuang/pathfinding-lab:latest
docker run -d -p 8080:80 pathfinding-lab:latest --name p-lab
License
Copyright © Robert Vandenberg Huang
The project is licensed under the MIT license. Feel free to copy, modify and use it in your computer science homework (grades not guaranteed).