作者Racci (Another Day...)
看板java
标题[问题] 小精灵游戏里, 如何决定Ghost的路径
时间Sat Oct 13 09:19:43 2007
As title,
先简单介绍这个游戏, 英文是叫做PacMan, 也就是大家俗称的小精灵游戏
在迷宫里, 有
1. PacMan: 即User本身
2. Jewel: 放在迷宫里的宝物
3. Ghost: 在迷宫里四处移动的怪物, 如果PacMan碰到鬼, 就Game Over了..
我已经做的差不多, 是StandAlone版..
但是有一个很蠢的Bug..
Ghost移动时, 很容易跑一跑就陷入某各程度的loop, 不断循环的跑某各区域
先承认我现在做的路径判断很烂..
大致就是 看现在的位置 上下左右 哪各可以走 就往哪边走
可能是因为上下左右判断的顺序一下 所以才会让Ghost跑一跑就开始循环
在网路上找过一些资料
有些人是说, 必须要找出Ghost跟PacMan之间的最短路径
但是我一直不懂.. 所谓的最短路径怎麽找出来
举例来说:
##########
# #
#
p### # #
# ## # #
# ## #
##### #
#
g # ###
# # ## #
# # # #
##########
从
Ghost怎麽直接找shortest path去抓
PacMan?
在我的想法里, 不是每走一步, 才知道接下来要走哪各位置吗?
在上面的例子里, PacMan在上方, 可是上面是墙, 只有左右可以走
Ghost怎麽知道要走左边好 还是右边比较好?
问题有点复杂, 谢谢大家看完 :)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 75.7.19.19
1F:推 zupi:A* search algorithm? XD 10/13 12:43
2F:推 PsMonkey:建议转 Prob_Solve 或是 GameDesign 版 10/13 12:44
3F:推 WPC001:我倒是觉得以前的人工AI做得很笨, 走到路口不是用最短路径 10/13 22:18
4F:→ WPC001:而是一个简单的路径长度, 然後用机率的方式来取舍 10/13 22:19
5F:→ WPC001:路径短的机率较高而已... 没有复杂的演算法 10/13 22:20