@bedard/pathfinder
v0.1.3
Published
A* path finding algorithm
Readme
@bedard/pathfinder
This project is a simple javascript implementation of the A* search algorithm. It was mainly built to get my feet wet with Solid.js.
Basic usage
Use findPath to find the shortest path between two points within a two-dimensional matrix.
import { findPath } from '@bedard/pathfinder'
const maze = [
[0, 0, 0, 0, 0],
[1, 1, 1, 1, 0],
[0, 0, 0, 0, 0],
[0, 1, 1, 1, 1],
[0, 0, 0, 0, 0],
]
const solution = findPath({
data: maze,
from: { row: 0, col: 0 },
to: { row: 4, col: 4 },
})
console.log(solution) // [{ row, col }, ...]To optimize the solution, an optional heuristic function can be used. Included with this library are euclidean and manhattan distance helpers. When no heuristic function is defined, it will use Dijkstra's algorithm.
import { euclidean, findPath } from '@bedard/pathfinder'
findPath({
data,
from,
to,
heuristic: euclidean,
})License
Copyright (c) 2024-present, Scott Bedard
