首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网格实现中的PathFinding算法

网格实现中的PathFinding算法
EN

Stack Overflow用户
提问于 2015-05-02 19:21:27
回答 1查看 801关注 0票数 1

阅读Dijkstra的路径查找算法,我发现适用于“基于网格的”游戏的每个示例都与“单元”是可通过的或不能通过的情况有关。我最好用一张图片来检验:

我需要为案例II实现一个从A到B的路径查找算法(返回一个单元格列表以“跟随”)。从图像中可以看到,在这个模型中没有“不可通过”的单元格,但是每个单元格都存储了4个信息,这些信息决定在单元格内是否可以向上、向下、左、右。

在网上搜索,我发现了Dijkstra算法在案例I中的许多实现。

  1. 是否有可能在第二种情况下实施?
  2. 如果是,你能给我一个建议吗?
  3. 在这种情况下,我是否应该使用另一种算法(网格将是32x14)?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-02 19:28:06

是的,这是可能的。通过将单元格建模为节点,将您的细胞转换成一个图形,如果没有墙将两个单元格连接到一个边缘,则只将它们连接起来。

然而,对于这样一个简单的例子来说,Dijkstra并不是最好的算法。如果图中的所有边都有一段距离,您可以使用BFS搜索找到最快的路径。

此外,路径是网格的事实可能意味着您甚至可以找到更快的算法来解决这个问题。但是,只有在网格非常大的情况下,这才有意义。对于32x14网格,我非常怀疑复杂的算法会比BFS更快。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30006494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档