只为小站
首页
域名查询
文件下载
登录
首页
开发技术
其它
精华游戏算法整理(经典)
精华游戏算法整理(经典)
上传者:
perfectpdl
|
上传时间: 2021-09-11 16:28:16
|
文件大小: 33KB
|
文件类型: RAR
算法
算法一:A*寻路初探 From GameDev.net 译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。 这 篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫 无疑问,作者用形象的描述,简洁诙谐的语言由浅入深的讲述了这一神奇的算法,相信每个读过的人都会对此有所认识(如果没有,那就是偶的翻译太差了-- b)。 原文链接:http://www.gamedev.net/reference/articles/article2003.asp 以下是翻译的正文。(由于本人使用ultraedit编辑,所以没有对原文中的各种链接加以处理(除了图表),也是为了避免未经许可链接的嫌疑,有兴趣的读者可以参考原文。 会者不难,A*(念作A星)算法对初学者来说的确有些难度。 这篇文章并不试图对这个话题作权威的陈述。取而代之的是,它只是描述算法的原理,使你可以在进一步的阅读中理解其他相关的资料。 最后,这篇文章没有程序细节。你尽可以用任意的计算机程序语言实现它。如你所愿,我在文章的末尾包含了一个指向例子程序的链接。 压缩包包括C++和Blitz Basic两个语言的版本,如果你只是想看看它的运行效果,里面还包含了可执行文件。 我们正在提高自己。让我们从头开始。。。 序:搜索区域 假设有人想从A点移动到一墙之隔的B点,如下图,绿色的是起点A,红色是终点B,蓝色方块是中间的墙。 [图1] 你 首先注意到,搜索区域被我们划分成了方形网格。像这样,简化搜索区域,是寻路的第一步。这一方法把搜索区域简化成了一个二维数组。数组的每一个元素是网格 的一个方块,方块被标记为可通过的和不可通过的。路径被描述为从A到B我们经过的方块的集合。一旦路径被找到,我们的人就从一个方格的中心走向另一个,直 到到达目的地。 这些中点被称为“节点”。当你阅读其他的寻路资料时,你将经常会看到人们讨论节点。为什么不把他们描述为方格呢?因为有可 能你的路径被分割成其他不是方格的结构。他们完全可以是矩形,六角形,或者其他任意形状。节点能够被放置在形状的任意位置-可以在中心,或者沿着边界,或 其他什么地方。我们使用这种系统,无论如何,因为它是最简单的。 开始搜索 正如我们处理上图网格的方法,一旦搜索区域被转化为容易处理的节点,下一步就是去引导一次找到最短路径的搜索。在A*寻路算法中,我们通过从点A开始,检查相邻方格的方式,向外扩展直到找到目标。 我们做如下操作开始搜索: 1,从点A开始,并且把它作为待处理点存入一个“开启列表”。开启列表就像一张购物清单。尽管现在列表里只有一个元素,但以后就会多起来。你的路径可能会通过它包含的方格,也可能不会。基本上,这是一个待检查方格的列表。 2,寻找起点周围所有可到达或者可通过的方格,跳过有墙,水,或其他无法通过地形的方格。也把他们加入开启列表。为所有这些方格保存点A作为“父方格”。当我们想描述路径的时候,父方格的资料是十分重要的。后面会解释它的具体用途。 3,从开启列表中删除点A,把它加入到一个“关闭列表”,列表中保存所有不需要再次检查的方格。 在这一点,你应该形成如图的结构。在图中,暗绿色方格是你起始方格的中心。它被用浅蓝色描边,以表示它被加入到关闭列表中了。所有的相邻格现在都在开启列表中,它们被用浅绿色描边。每个方格都有一个灰色指针反指他们的父方格,也就是开始的方格。 [图2] 接着,我们选择开启列表中的临近方格,大致重复前面的过程,如下。但是,哪个方格是我们要选择的呢?是那个F值最低的。 路径评分 选择路径中经过哪个方格的关键是下面这个等式: F = G + H 这里: * G = 从起点A,沿着产生的路径,移动到网格上指定方格的移动耗费。 * H = 从网格上那个方格移动到终点B的预估移动耗费。这经常被称为启发式的,可能会让你有点迷惑。这样叫的原因是因为它只是个猜测。我们没办法事先知道路径的长 度,因为路上可能存在各种障碍(墙,水,等等)。虽然本文只提供了一种计算H的方法,但是你可以在网上找到很多其他的方法。 我们的路径是通过反复遍历开启列表并且选择具有最低F值的方格来生成的。文章将对这个过程做更详细的描述。首先,我们更深入的看看如何计算这个方程。 正 如上面所说,G表示沿路径从起点到当前点的移动耗费。在这个例子里,我们令水平或者垂直移动的耗费为10,对角线方向耗费为14。我们取这些值是因为沿对 角线的距离是沿水平或垂直移动耗费的的根
文件下载
立即下载
资源详情
[{"title":"( 1 个子文件 33KB ) 精华游戏算法整理(经典)","children":[{"title":"精华游戏算法整理.doc <span style='color:#111;'> 104.50KB </span>","children":null,"spread":false}],"spread":true}]
评论信息
maomingxiaofei :
资源还不错,感谢分享
2019-05-23
sf_50 :
很给力的算法 比较实用
2014-09-30
quij2 :
没图,不好理解
2014-06-07
hbin_28 :
没图片啊,而且内容好像不全的吧。
2013-07-19
xihuanfeng :
算法还是挺有用的
2013-06-12
其他资源
一个c++转c的工具(cfront源码)
plecs电力电子仿真软件独立安装包 含crack
台达伺服驱动器调试软件ASDA5.03.01
TD插件TDMSExcelAddin.exe
halcon与C#联合编程之鼠标控制图片缩放,拖动,roi.zip
DataDig5.0.0
TMS_Component_Pack_v9.2.4.0_Full_Source(advMemo完美支持中文).rar
[MPI与OpenMP并行程序设计:C语言版].(译)陈文光.清华大学出版社.2004.pdf
《工厂物理学》中文译稿 2.rar
联邦学习中的隐私和鲁棒性:攻击和防御
图像分割程序matlab版
软件工程课程设计——基于UML医院患者监护系统的分析与设计(例子)
MySQL优化学习思维笔记.xmind
3.3: DNS服务基础 、 特殊解析 、 DNS子域授权 、 DNS主从架构(1).docx
中央广播电视大学《C语言程序设计A》期末总复习资料(含答案).pdf
python课件.rar
phonegap-facebook-plugin:Apache Cordova中Facebook的官方插件-源码
TwinCAT3入门教程4.1版本
beanutils的jar包
豆瓣网安卓源代码
slidingmenu_library开源
STEP7累积流量例程
NURBS基函数
二维模型粘弹性人工边界在ansys中的应用
8145v改华为界面补shell
中科院自动化所自动控制理论考博真题(9年)
免责申明
【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明
个人信息
点我去登录
购买积分
下载历史
恢复订单
相关资源标签
Actionscript
C
C#
C++
Delphi
Java
Javascript
Perl
PHP
Python
VB
Web开发
硬件开发
其它
热门下载
基于LSTM模型的股票预测模型_python
锁相环simulink建模仿真.rar
空间谱估计理论与算法------程序.rar
韦来生《数理统计》课后习题与答案
麻雀搜索算法(SSA)优化bp网络
华为结构与材料工程师-知识点总结【by詹姆斯申易登】.pdf
拾荒者扫描器.zip
基于matlab的车牌识别系统设计
PowerBI视觉对象共计271组,更新日期2021.01.20日.zip
大学生网页设计大作业-5个网页设计制作作品自己任选
ios无人直播 虚拟视频实用版 可以导入视频
鲸鱼优化算法 WOA matlab源代码(详细注释)
拾荒者.exe同时ID扫描器IP扫描器
【SystemVerilog】路科验证V2学习笔记(全600页).pdf
CPLEX12.8学术版安装包:cplex_studio128.win-x86-64.exe
最新下载
西电—DSP原理及应用视频教程 全39讲 1-6.rar
CGH40010-ADS模型
深思S4 加密狗型号快速检测V5.1, S4初始化工具和写狗工具最新授权 带说明
carsim与simulink联合仿真实现AEB功能
CircleOfPoison.rar
小波阈值MATLAB代码,可以实现软阈值、硬阈值以及5种改进阈值方法,封装好的函数快速实现
2022年电赛A题:单相交流电子负载 单相pwm整流 基于stm32f407vet6的单相DQ锁相环
9218-9217B增加强刷.救砖模式增量单刷脚本(内有说明).7z
ckeditor_4.14.1_full
掌讯方案9218、9217B、9217升级说明及工具(电脑升级不要勾选Preloader).rar