AI与游戏——吃豆人(2)控制器简介
来源:互联网 发布:一维数组杨辉三角java 编辑:程序博客网 时间:2024/05/29 05:56
这次来简单说一下上次提到的Example里面提到的控制器,虽然本来是不准备说的,但是为了后续算法在测试中有对比,在这里先提一下。
·RandomPacMan / RandomGhosts:这两个就是全部随机走法的没什么可说的,这里试讲所有走法(上下左右)存入allMoves这个列表里面,然后随机取一个,这了不管这个动作是否可行。
·RandomNonRevPacMan:这个也是随机的,但是与之前有个不同,就是在可选的随机值不再是全部走法而是可行的走法,就意味着吃豆人不会直接装上魔鬼了(如果某个方向有魔鬼或者墙那么这个走法将不在可选的步骤之中)
·NearestPillPacMan / VS:这个就是将所有的豆子和能量药的位置保存下来,然后找最近的一个,VS则是将魔鬼的路线可视化出来
·AggressiveGhosts:这个是进攻性魔鬼,会先判定魔鬼是否会处于被吃等不能移动状态,如果不是这个状态就会向大致吃豆人的方向移动(这里有些距离度量方法参数如欧几里得距离等)。
·Legacy:这个其实是提供一种不同魔鬼走不通方法的框架,这里返回的是三个进攻性+一个随机走法的。(四个魔鬼的区分是根据出动的先后顺序)
·Legavy2TheRechoning:判断魔鬼之间是否太近且离吃豆人很远,那么久去接近能量豆;如果处于被吃状态或吃豆人离能量豆很近则原理吃豆人;不是可被吃状态则接近吃豆人
·StarterPacMan:代码上有注释 1. Get away from any non-edible ghost that is in close proximity 2. Go after the nearest edible ghost 3. Go to the nearest pill/power pill
·StarterGhosts:1. If edible or Ms Pac-Man is close to power pill, run away from Ms Pac-Man 2. If non-edible, attack Ms Pac-Man with certain probability, else choose random direction
以上就是所有Example的控制器,可以看到这里的控制器要不是随机要不也都是属于简单的有限状态自动机的形式,其中路径规划上也有算法如其中求最短距离便使用了A*算法。说起来很简单,实现起来难点主要在于路径规划上,之后我们会用代码来介绍这些控制器所用到的路径规划算法。
- AI与游戏——吃豆人(2)控制器简介
- AI与游戏——吃豆人(1)代码简介
- AI与游戏——吃豆人(4)方法综述
- AI与游戏——引言
- AI与游戏——吃豆人(3)基本的路径规划算法(上)
- AI与游戏——吃豆人(3)基本路径规划算法(下)
- AI与游戏——吃豆人(5)树搜索算法(上)
- 游戏中的AI编程(一) 遗传算法简介
- AI入门——阐述游戏AI设计的两个禁忌及解决方法(转)
- 即时战略游戏AI技术的发展——(一)
- 游戏AI引擎设计——设想
- 游戏AI - 行为树Part1:简介
- 游戏AI - 行为树Part1:简介
- 人工智能(AI)简介
- 游戏编程入门学习笔记25——AI篇——AI策略的制定(策划)
- 游戏开发笔记(四)——游戏程序简介
- 游戏AI设计(转)
- 游戏AI--决策(1)
- jboss marshell序列化整合netty
- 反序列化(先序)
- MaxConsecutiveOnes
- ACM-9月14日周四周中训练心得
- 189. Rotate Array
- AI与游戏——吃豆人(2)控制器简介
- Windows服务已标记为删除
- Codeforces 742B Arpa’s obvious problem and Mehrdad’s terrible solution
- hadoop 一些属性值含义
- TCP套接字--阻塞模式和粘包问题
- html和CSS基础学习(七)
- bzoj 5017 炸弹 线段树优化建图+tarjan+拓扑排序
- 经济学十大原理
- 算法设计与复杂性原理 第一次上机 玛雅历