a-star
Version, currently 0.1.12 versions
- 0.1.1latestMay 31, 2018
- 0.1.0not indexedAug 29, 2018
github.com/petoem/a-star.cr
A* pathfinding algorithm
2 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
a-star:
github: petoem/a-star.cr
version: ~> 0.1.1Then run:
shards installshard.yml
- Crystal
0.24.2- License
- MIT
- Author
- Michael Petö
Dependencies
This version declares no dependencies.
README
A* pathfinding algorithm
Installation
Add this to your application's shard.yml:
dependencies:
a-star:
github: petoem/a-star.cr
Usage
require "a-star"
# `Node(T)` is generic and can store any type eg. `String`
a = AStar::Node.new "A"
b = AStar::Node.new "B"
c = AStar::Node.new "C"
d = AStar::Node.new "D"
# Connect nodes to each other
# `Node#connect` connects self to other and vice versa with given distance
a.connect b, 1
b.connect c, 3
c.connect d, 2
b.connect d, 1
# Runs A* search from `start` to `goal` and uses block as heuristic function
# Returns an `Array` of `Node(T)` or `Nil`
path = AStar.search a, d do |node, goal|
# Your heuristic algorithm here ...
end
if path
puts "Found a solution."
else
puts "No path found."
end
See examples directory for more.
Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- petoem Michael Petö - creator, maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.1.1- Tagged
- May 31, 2018
- Commit
24db3494c33b- Crystal
0.24.2- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/petoem/a-star.cr
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 15, 2026
- Synced
- Aug 13, 2026
- Versions
- 2