A星寻路算法的Lua实现

本文介绍了A*寻路算法,一种用于找到图形平面上最低成本路径的方法。通过理解F=G+H的公式,结合open表和closed表进行实现。作者提供了自己用Lua实现的A*算法代码,并分享了GitHub链接,便于读者学习和测试。
摘要由CSDN通过智能技术生成

A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。

这里有一篇前辈的文章,很适合新手学习 莫水千流:A星寻路算法介绍 http://www.cnblogs.com/zhoug2020/p/3468167.html

对A星算法的理解还是要从公式 F = G + H开始:在节点化的地图上,每一步的操作,使得已走距离 + 距离终点距离最小。具体的实现上是维护一个open表和一个closed表。(看到一篇用递归实现的文章,也是很赞。)

花了一点时间,也参考了一些别人的实现,用Lua实现了自己的A*。
完整的Lua代码请到我的GitHub上下载。https://github.com/MagicDavid20/LuaProj/blob/master/DOD/src/app/arithmetic/AStarFindRoute.lua

这是关键实现:

while (table.nums(OPEN_LIST) > 0
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值