我想开发一个鲁道游戏,最多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. 直升机游戏AI算法
- 4. 使用谷歌玩游戏服务的轨道玩家XP
- 5. 如何编程一个国际象棋游戏的AI
- 6. AI的线路块游戏
- 7. 获取所有玩这个游戏的游戏中心朋友
- 8. C++ Blackjack游戏玩法
- 9. java:敌方玩家跟踪AI的Java游戏
- 10. 如何使用游戏中心只与wifi玩游戏?
- 11. 选择下一座要排队的游戏 - AI游戏编程
- 12. 如何在游戏中转向AI?
- 13. 有时玩游戏作品
- 14. 2D游戏碰撞的高效算法?
- 15. 游戏中的玩家停止游戏
- 16. 游戏编程ai:缩放墙以找到玩家?
- 17. 有多少玩家使用游戏中心或等待游戏
- 18. AI为多人游戏?
- 19. 街机格斗游戏AI
- 20. 游戏ai视线Python
- 21. 创建棋盘游戏AI
- 22. 游戏AI - 行为树
- 23. AI设计纸牌游戏
- 24. 算法:从一组游戏
- 25. NIM游戏和使用Minimax算法的人工智能玩家 - AI让人失去移动
- 26. OO Javascript游戏,如何添加玩家游戏的玩家数组?
- 27. Unity3d - 如何使另一个类别有效地属于另一个游戏对象的方法有效
- 28. 多人游戏玩家2人游戏
- 29. 在Java中玩Flash游戏(游戏)
- 30. 如何在玩游戏时创建游戏视频?
花点时间改进语法(只需仔细检查你发布的内容),如果你想制作一个AI,就需要付出相当大的努力。我建议在网上搜索'AI教程'来帮助你入门。这里没有简单的答案。你将不得不自己投入腿部工作。 – 2011-03-02 05:43:12