rvhuang / pathfinding-lab

Run, test and compare all algorithms and heuristic functions

Home Page:https://pathfinding-lab.codedwith.fun/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pathfinding Laboratory

Docker Image Size Docker Image Version

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).

About

Run, test and compare all algorithms and heuristic functions

https://pathfinding-lab.codedwith.fun/

License:MIT License


Languages

Language:TypeScript 36.4%Language:HTML 35.0%Language:C# 17.4%Language:JavaScript 9.7%Language:CSS 1.0%Language:Dockerfile 0.5%