0.0.2 • Published 6 years ago

a-star-algo v0.0.2

Weekly downloads
9
License
MIT
Repository
github
Last release
6 years ago

A*

A slightly opinionated, cleaned-up version of A-Star implementation

Install

npm install a-star-algo

How to use

const aStar = require('a-star-algo')

// Abuse the fact that objects are call-by-sharing ("pass by reference" with some differences) to chain everything together.
// You have to do it this way for now, or you can submit a PR to add something like https://www.npmjs.com/package/graph-data-structure in. ;)
elements.end = {
  id: 4,
  neighbors: [ elements.middle1 ]
}

elements.middle1 = {
  id: 2,
  neighbors: [ elements.end ]
}

elements.middle2 = {
  id: 3,
  neighbors: []
}

elements.start = {
  id: 1,
  neighbors: [ elements.middle1, elements.middle2 ]
}

// These are all the parameters available or necessary
const as = new aStar({
    // Which element to start from
    start: elements.start,
    // Which element to end at
    end: elements.end,
    // Heuristic for cost to go between two points
    costEstimate: (to, from) => {
      return 1
    },
    // How far apart two points are
    distance: (to, from) => {
      return 1
    }
  })

// [ 1, 2, 4 ]
const result = as.travel()

Methods

travel()

Call when you are ready to traverse

0.0.2

6 years ago

0.0.1

6 years ago