我正在制作一个基于2D地图的游戏。玩家控制一个角色,而几个AI控制的角色尽可能快地向玩家移动。玩家想要避开他们。
玩家和AI可以移动的表面类型有几种,每种都有不同的移动奖励。我在“前端”地图下面有一个颜色编码的地图,它将在每个游戏循环中使用,以确定每个角色的当前速度。例如,黑色线段可能代表州际公路,与走在路边的绿色草地上相比,可以获得更大的移动奖励。
我不是一个CS的家伙,所以我想确保我有高级的AI寻路算法。这是我的想法:-The的敌人总是在一种类型的路径上。我们必须经常检查(以某种方式使用考虑不同曲面的移动值的距离公式)移动到相邻曲面是否比停留在当前曲面上更快。因此,我们必须比较(1)停留在当前曲面上和(2)切换到相邻曲面的两个距离。-Use当前位置和目标位置之间的线,以检查将跨越哪些曲面类型。使用此选项可说明距离公式中的移动值。
我还需要考虑什么?
发布于 2012-03-26 02:48:53
我认为你需要的是A*算法。我相信你可以在很多地方找到它的代码,但这是理论上的解释:
A* wikipedia
斯尔,我想你最好在Stack Overflows' Gaming group上问这样的问题
Here是该网站的一个很好的答案。
发布于 2012-03-26 02:46:23
那A*呢?这个页面有一个令人讨厌的观点,它恰好是你想要做的:http://www.policyalmanac.org/games/aStarTutorial.htm
https://stackoverflow.com/questions/9862915
复制相似问题