- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
现在我有这个迷宫:
标有S和E的节点代表这个迷宫的起点和终点。
橙色节点表示目前无法绕过的障碍。
我的目标是让A*算法绕过x个障碍,以最快的速度到达终点。
我的 A* 算法目前是这样导航的:
.
但如果我允许绕过 1 个障碍,我希望它像这样导航:
如果我允许绕过 2 个障碍,就像这样:
如何修改 A* 算法来实现此目的?是否有替代算法可以帮助我解决这个问题?
最佳答案
您可以复制图中的节点,并为每个绕过次数生成实例。也就是说,您将创建多个图形层并从第 0 层开始(您已经绕过了 0 个障碍)。每当你到达一个障碍节点时,你就会切换到下一层(即,下一层的相邻障碍节点有边,同一层的相邻非障碍节点有边)。根据需要绕过障碍创建尽可能多的图层。如果您到达目标单元格的任何实例(在任何层上),您就完成了。
关于algorithm - 允许A-star算法绕过x个障碍物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361326/
我有一个程序可以检查距离以及玩家是否与障碍物发生碰撞。我现在尝试计算障碍数组中的哪个障碍最接近移动的玩家,然后返回该障碍的索引。 这是我到目前为止所拥有的: public static int
我尝试在 Unity 中创建 RTS 游戏,但在寻路方面遇到问题。我使用 NavMesh 进行寻路,效果很好:单位避免静态对象。但单位不会互相回避。有一个名为 NavMesh Obstacle 的组件
import math import random import pygame from pygame.locals import * import sys def events(): for
新程序员在我的腰带下使用了三个月的 Python(只有几周的 pygame)...... 我正在设计一个 2-D、自上而下的游戏,并且一直在尝试设置障碍来打破 sprite LOS。我目前的尝试是让每
我有一个数据框,其中存储的不是预期的数值“Object”类型的数据看起来像 3 014.0,即“3\xa0014.0”,而不是 3014.0 - 空格(即“\xa0”) - 造成转换问题 问题:有什么
我是一名优秀的程序员,十分优秀!