首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于路径查找清除的Javascript循环

用于路径查找清除的Javascript循环
EN

Stack Overflow用户
提问于 2015-07-21 08:29:20
回答 1查看 163关注 0票数 1

我试图在路径查找脚本(javascript)上添加一个清除计算。

我真的不知道如何通过编程来实现这一点..。

我使用的是一个AStar脚本,所以我有一个二维数组,其中包含如下所示的瓷砖:

代码语言:javascript
复制
[
    [0,0,0,0,0,1],
    [0,1,0,1,1,1],
    [0,1,1,1,0,1],
    [1,1,1,0,0,1],
    [1,1,0,1,0,1],
    [1,0,0,0,0,1]
]

在这里,0表示“墙”,1表示“路径”。1是默认的清除。

如何循环遍历每个瓷砖(从左上角到右下角计算)以获得最大间隙,如本方案中所示:

https://aigamedev.com/open/tutorials/clearance-based-pathfinding/#TheTrueClearanceMetric

唯一的问题是“循环格式”,在这种情况下,我需要测试当前的瓷砖是0还是1,以存储最大间隙。

非常感谢!

编辑

对于那些看不见网站的人来说,我的意思是:

计算间隙的步骤

完整结果的示例

EN

回答 1

Stack Overflow用户

发布于 2015-07-23 02:25:33

您仍然需要嵌套的外部for循环集来遍历每个正方形,就像在您的/uctsf755 755代码中一样,但是在每个方块中,首先要进行宽度搜索,以找到最近的墙。一旦你找到一个,你实际上可以更新所有的方块,你已经看了沿途,因为最近的墙与这些广场将是同一堵墙。记住你访问过的是哪些,这样你就不用再对它们做bfs了。

总复杂度将在O(n^2)左右,因为您应该只访问每个广场一次。

祝好运!

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

https://stackoverflow.com/questions/31533965

复制
相关文章

相似问题

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