13 个版本

0.2.8 2019 年 8 月 10 日
0.2.7 2019 年 8 月 10 日
0.2.6 2019 年 7 月 30 日
0.2.1 2019 年 6 月 30 日
0.1.3 2019 年 6 月 23 日

#4 in #coord

44 每月下载
用于 web_wars_engine

MIT 许可证

19KB
538 代码行

🗺️ basic-pathfinding

路径搜索是一个简单的包,用于在基于方格和六边形瓦片的网格中进行 2D A-star 路径搜索。

🚴 Rust 使用

let grid = Grid {
  tiles:
    vec![
      vec![1, 1, 0, 1, 1],
      vec![1, 1, 0, 1, 1],
      vec![1, 1, 0, 1, 1],
      vec![1, 1, 1, 1, 1],
      vec![1, 1, 1, 1, 1]
    ],
  walkable_tiles: vec![1],
  grid_type: GridType::Cardinal,
  ..Default::default()
);
let start = Coord::new(1, 2);
let end = Coord::new(3, 2);
let path = find_path(&grid, start, end, None);

path == Some(vec![
  Coord { x: 1, y: 2 },
  Coord { x: 1, y: 3 },
  Coord { x: 2, y: 3 },
  Coord { x: 3, y: 3 },
  Coord { x: 3, y: 2 },
]);

🛠️ 构建

cargo build

🔬 测试

cargo test

依赖

~3–12MB
~133K SLoC