Easy A* (star) Pathfinding

161 篇文章 4 订阅
4 篇文章 1 订阅

如果您是游戏开发人员,您可能一直希望将A *实现为角色(或敌人)寻路。 我知道几年前我做过,但当时我的编程水平与当前的文章存在问题。 我想把它写成一个简单的介绍,带有一个明确的源代码示例到A *寻路,所以任何人都可以轻松拿起并在游戏中使用它。

F = G + H

A *的一个重要方面是f = g + h。 f,g和h变量在我们的Node类中,并在每次创建新节点时计算。 我很快就会了解这些变量的含义。

F是节点的总成本。
G是当前节点和起始节点之间的距离。
H是启发式 - 从当前节点到末端节点的估计距离。
让我们来看一个快速图形来帮助说明这一点。在这里插入图片描述

真棒! 假设node(0)是我们的起始位置,node(19)是我们的结束位置。 我们还说我们当前的节点位于红色方块节点(4)。

G

G是当前节点和起始节点之间的距离。
如果我们倒数,我们可以看到node(4)距离我们的起始节点有4个空格。

我们还可以说G比我们的父节点(node(3))多1。 因此在节点(4)的情况下,currentNode.g = 4。

H

H是启发式 - 从当前节点到末端节点的估计距离。
所以让我们计算距离。 如果我们看一下,我们会看到,如果我们超

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adam婷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值