CygnusRoboticus / pathfinding

Tile-based A* pathfinding in elixir

Home Page:https://hexdocs.pm/pathfinding

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pathfinding

Pathfinding is a simple package for performing 2D A-star pathfinding in square- and hex-based tile grids.

Installation

Available in Hex, the package can be installed by adding pathfinding to your list of dependencies in mix.exs:

def deps do
  [
    {:pathfinding, "~> 0.1.0"}
  ]
end

Basic Usage

grid = %Pathfinding.Grid{
  tiles: [
    [1, 1, 0, 1, 1],
    [1, 1, 0, 1, 1],
    [1, 1, 0, 1, 1],
    [1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1]
  ],
  walkable_tiles: [1]
}

Pathfinding.find_path(grid, 1, 2, 3, 2) == [
  %{x: 1, y: 2},
  %{x: 1, y: 3},
  %{x: 2, y: 3},
  %{x: 3, y: 3},
  %{x: 3, y: 2}
]

API Documentation

Documentation can be found at https://hexdocs.pm/pathfinding.

About

Tile-based A* pathfinding in elixir

https://hexdocs.pm/pathfinding

License:MIT License


Languages

Language:Elixir 100.0%