A small package that implements pathfinding algorithms.
- A* (A star) - implemented
- Dijkstra - not implemented
$ go get github.com/xarg/gopathfinding
$ git clone git://github.com/xarg/gopathfinding $ cd gopathfinding $ make install
import ( "fmt" pathfinding "github.com/xarg/gopathfinding" ) func main() { //A pathfinding.MapData containing the //coordinates(x, y) of LAND, WALL, START and STOP of the map. //If your map is something more than 2d matrix then you might want to modify adjacentNodes graph := pathfinding.NewGraph(map_data) //Returns a list of nodes from START to STOP avoiding all obstacles if possible shortest_path := pathfinding.Astar(graph) }
http://gopkgdoc.appspot.com/pkg/github.com/xarg/gopathfinding
Or
$ go doc github.com/xarg/gopathfinding