A* 实施
A* implementation
我正在尝试实现 A* 算法,我正在遵循 wiki https://en.wikipedia.org/wiki/A*_search_algorithm#Pseudocode 中的伪代码
我被困在这部分
tentative_gScore := gScore[当前] + d(当前, 邻居)
d() 函数究竟应该做什么?
d(current,neighbor) is the weight of the edge from current to neighbor
但我不明白他们的意思。在我的例子中,current 和 neighbor 将是蛇头的状态(我正在构建一个自己玩的贪吃蛇游戏)。假设当前为 15,邻居为 25,那么 d(15, 25) 函数 return?
应该是什么
d 是到图中下一个顶点的距离。如果你在一个规则的正方形网格上,它总是 1。
我正在尝试实现 A* 算法,我正在遵循 wiki https://en.wikipedia.org/wiki/A*_search_algorithm#Pseudocode 中的伪代码
我被困在这部分
tentative_gScore := gScore[当前] + d(当前, 邻居)
d() 函数究竟应该做什么?
d(current,neighbor) is the weight of the edge from current to neighbor
但我不明白他们的意思。在我的例子中,current 和 neighbor 将是蛇头的状态(我正在构建一个自己玩的贪吃蛇游戏)。假设当前为 15,邻居为 25,那么 d(15, 25) 函数 return?
d 是到图中下一个顶点的距离。如果你在一个规则的正方形网格上,它总是 1。