首先,這是AI爲PacMan而不是鬼。PacMan個性AI建議爲最佳下一個方向
我正在寫一個Android動態壁紙,在您的圖標周圍播放PacMan。雖然它通過屏幕接觸支持用戶建議,但大部分遊戲都將通過AI進行播放。我99%完成了所有的遊戲編程,但PacMan本人的AI仍然非常弱。我正在尋找幫助來開發一個好的AI來確定PacMan的下一個旅行方向。
我的最初的計劃是這樣的:
- 初始化用於與零值的每個方向上的分數計數器。
- 從當前位置開始,使用BFS在四個可能的初始方向上向外遍歷,方法是將它們添加到隊列中。
從隊列中彈出一個元素,確保它沒有被「看到」,確保它是一個有效的棋盤位置,並添加到相應的初始方向,爲當前單元格分值:
- 具有點:加10
- 具有功率高達:加50
- 擁有果:加果值(由電平變化)
- 擁有鬼朝向吃豆行進:減去200
- 有一個幽靈旅行y從PacMan:什麼都不做
- 有一個正在垂直移動的影子:減去50
- 根據單元格的步數乘以單元格的值乘以百分比,初始方向的步數越多,該單元變爲零。
並從當前單元排列三個可能的方向。
- 一旦隊列爲空,爲四個可能的初始方向中的每一個找到最高分並選擇它。
它在紙上聽起來很不錯,但鬼怪圍繞着PacMan非常迅速,他在相同的兩個或三個細胞中來回抽動,直到到達他爲止。調整鬼魂存在的值也沒有幫助。在比賽結束之前,我最近的點BFS至少可以達到2或3級。
我正在尋找代碼,想法和/或資源的鏈接來開發一個合適的AI - 最好是前兩個。我想在這個週末的某個時候在Market上發佈這個,所以我有點匆忙。任何幫助是極大的讚賞。
僅供參考,這是手動橫貼在GameDev.StackExchange
這將是更好的http://gamedev.stackexchange.com – ManiacZX 2010-07-29 20:34:13
@ManiacZX感謝您的領導。我不知道該網站存在。我會記住這個問題以備將來發布,或者稍後重新發布此問題。 – 2010-07-29 20:41:34
我不記得有關Pacman是否需要不斷移動的確切Pacman規則。如果你不關心遵循原始的Pacman 100%,我還會爲Pacman的可能操作列表添加一個「停留」。 http://www-inst.eecs.berkeley.edu/~cs188/archives.html有一些有趣的資源,你可以看看 – nevets1219 2010-07-29 20:46:37