项目作者: rvhuang

项目描述 :
Run, test and compare all algorithms and heuristic functions
高级语言: TypeScript
项目地址: git://github.com/rvhuang/pathfinding-lab.git
创建时间: 2018-06-29T10:48:45Z
项目社区:https://github.com/rvhuang/pathfinding-lab

开源协议:MIT License

下载


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

  1. cd src/Heuristic.PathfindingLab/Heuristic.PathfindingLab/
  2. npm i -s d3
  3. npm i -s @types/d3
  4. tsc -p tsconfig.json
  5. dotnet build Heuristic.PathfindingLab.csproj

Build Docker image

  1. cd src/Heuristic.PathfindingLab/Heuristic.PathfindingLab/
  2. docker build -t pathfinding-lab .

Run Dockerized instance

  1. docker pull rvhuang/pathfinding-lab:latest
  2. 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).