https://github.com/rvhuang/pathfinding-lab
Run, test and compare all algorithms and heuristic functions
https://github.com/rvhuang/pathfinding-lab
algorithm astar-algorithm heuristic
Last synced: 2 months ago
JSON representation
Run, test and compare all algorithms and heuristic functions
- Host: GitHub
- URL: https://github.com/rvhuang/pathfinding-lab
- Owner: rvhuang
- License: mit
- Created: 2018-06-29T10:48:45.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-22T10:54:29.000Z (over 6 years ago)
- Last Synced: 2023-10-20T22:55:22.416Z (almost 2 years ago)
- Topics: algorithm, astar-algorithm, heuristic
- Language: TypeScript
- Homepage: https://pathfinding-lab.codedwith.fun/
- Size: 313 KB
- Stars: 57
- Watchers: 5
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pathfinding Laboratory
[](https://microbadger.com/images/rvhuang/pathfinding-lab "Get your own image badge on microbadger.com") [](https://microbadger.com/images/rvhuang/pathfinding-lab "Get your own version badge on microbadger.com")
A playground where you can run, test and compare pathfinding algorithms and heuristic functions.
Visit [the website](https://pathfinding-lab.codedwith.fun/) 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\*](https://github.com/rvhuang/linq-to-astar): 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
```sh
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
```sh
cd src/Heuristic.PathfindingLab/Heuristic.PathfindingLab/
docker build -t pathfinding-lab .
```## Run Dockerized instance
```sh
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).