我想開發一個魯道遊戲,最多4個玩家至少玩兩個。其中一名球員將是AI。由於條件太多,我無法決定移動電腦的棋子。我正在盡我所能,但仍然在開發一種可以與人競爭的高效算法。如果有人知道任何語言實現的任何算法的答案,請讓我知道。謝謝。如何使一個有效的魯道遊戲玩AI算法
-1
A
回答
0
我認爲,在大多數電腦卡/棋盤遊戲中,爲你的AI玩家獲得一個合理的好策略要比試圖獲得一貫獲獎的頂尖算法要好。 AI玩家玩起來應該很有趣。
非常合理的做法是收集一套您的AI應遵循的經驗規則。就像'如果我在骰子上得到6,我應該在考慮任何其他動作之前移動一個棋子','如果我有機會「吃掉」另一名棋手的棋子,那麼等等。然後將這些規則從最重要性不那麼重要,並在代碼中實現它們。你可以將一組規則結合到不同的策略中,並嘗試切換它們以查看AI是好還是壞。
0
此外,如果你想你可以嘗試一般的遊戲玩AI算法,如蒙特卡羅樹搜索。基本上的想法是這樣 - 你需要模擬許多隨機遊戲從當前的行動,然後選擇這樣的行動,保證統計最好的結果。
0
從一個簡單的啓發式開始 - 每個玩家必須移動的正方形總數是多少才能讓所有的棋子回家?現在,您可以對啓發式進行一些調整 - 例如,家庭廣場中的一件作品的額外費用是多少? (提示 - 玩家獲得六分之一之前擲骰子的預期總數是多少?)。現在,您可以根據他們被擊中的可能性,進一步調整家中棋子的「預計距離」。例如,如果一個棋子在玩家下一步移動之前有1/6的機會被擊中,那麼它的啓發距離是5/6 *(當前距離)+ 1/6 *(家距)。
然後,您應該能夠選擇一種最大化您的玩家在所有對手中的優勢(啓發式差異)的舉動。
相關問題
- 1. 飛行遊戲AI算法?
- 2. 玩Go遊戲的算法?
- 3. 使用谷歌玩遊戲服務的軌道玩家XP
- 4. AI的線路塊遊戲
- 5. java:敵方玩家跟蹤AI的Java遊戲
- 6. 如何在遊戲中轉向AI?
- 7. 街機格鬥遊戲AI
- 8. 創建棋盤遊戲AI
- 9. 遊戲AI - 行爲樹
- 10. AI爲多人遊戲?
- 11. 多人遊戲玩家2人遊戲
- 12. 在Java中玩Flash遊戲(遊戲)
- 13. Unity3d - 如何使另一個類別有效地屬於另一個遊戲對象的方法有效
- 14. 如何在玩遊戲時創建遊戲視頻?
- 15. iPhone遊戲的在線玩法?
- 16. 在一個簡單的遊戲 所有玩家
- 17. 我的遊戲自己玩?
- 18. 如何使用Google遊戲服務獲取連接到Android遊戲的玩家?
- 19. Discord.NET玩同一遊戲的用戶
- 20. 如何在博客中玩java遊戲
- 21. 如何讓谷歌玩遊戲可選?
- 22. 如何在android中玩Flash遊戲
- 23. 在射擊遊戲中進行遊戲AI研究的API
- 24. 生成填字遊戲的有效算法(NYtime風格)
- 25. 算法的策略遊戲
- 26. 遊戲AI的Java規則引擎
- 27. 您可以開發自己的AI玩家的策略/管理遊戲
- 28. 谷歌玩遊戲沒有登錄
- 29. 不一致Visual Studio玩遊戲
- 30. CPU玩家骰子游戲
花點時間改進語法(只需仔細檢查你發佈的內容),如果你想製作一個AI,就需要付出相當大的努力。我建議在網上搜索'AI教程'來幫助你入門。這裏沒有簡單的答案。你將不得不自己投入腿部工作。 – 2011-03-02 05:43:12