@bedard/pathfinder
v0.1.3
Published
A* path finding algorithm
Downloads
11
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