我希望有人能给我指个正确的方向。我有个骰子游戏叫法尔科。作为一个双人游戏,这个游戏运行得很好。现在我想为一个单人游戏实现一个人工智能。基本上我只想要它,所以如果当前的骰子得分是>=,那么让我们假设300将骰子传递回人类玩家。还有一些其他的东西,我希望它寻找,例如,如果所有的骰子已经使用,所有6个骰子可以再次滚动。
我对整个Java/Android世界都是新手,所以真的不知道从哪里开始,也不知道从哪里开始寻找Dice AI示例。我已经为扑克找到了几个,但我认为它们比我需要的或者甚至可以理解的复杂得多。有什么想法吗?
顺便说一句。我愿意将游戏的源代码发送给任何愿意或能够提供帮助的人。
提前感谢!
发布于 2012-11-19 22:45:19
老实说,我不知道有什么AI库可以帮助你。此外,我必须真正阅读farkle规则来理解这个概念,以及如何将AI集成到其中。因此,有两个选项出现在我的脑海中,但你必须自己实现:
1.使用神经网络。网络可能会使用backpropagation进行训练。作为一个错误,你可以使用6个骰子(可能由6个不同的输出神经元建模)和300的差值。如果你稍微搜索一下,我相信你不会发现很难找到java库或源代码示例。
2.使用遗传算法。为此,实际上有一个非常好的库JGAP。染色体将是滚动所有6个骰子的结果,适应度函数将是它们的得分。
当然,上面提到的两条路线都是非常通用的,可能不是很准确。恐怕您必须熟悉某些AI概念/算法。farkle游戏本身并不是很流行(比如国际象棋),所以我相信你必须自己实现一些东西(也许是使用一些库)。希望这能有所帮助。
https://stackoverflow.com/questions/13430794
复制相似问题