2016-04-28 21 views
0

我看不到我可以如何设置: 我必须为2名玩家编写一个小型IA,用于非对称棋盘游戏。每转动一圈,每个玩家都有多个动作点用于将棋子移动到棋盘上(10x10)。 现在我知道如何根据给定动作点的数量为每个棋子生成可能的移动列表,但我会阻止下一步,选择最佳移动。我怎么能编码的事实,例如5行动指出,最好移动一个兵3细胞和另一个移动一个兵5细胞的2个细胞。我必须使用特定算法还是应用编程概念...?那么,我迷路了。定义了最好的举动(AI-游戏)

希望你能帮助我:)

回答

0

您需要将评分每个动作都基于游戏规则当你选择适当的评分方法时,你可以评估5种可能动作中哪一种最好,

作为一个例子,我们假设一个简单的游戏,你必须通过放置所有的对手棋子当你将棋子移动到下一个空闲单元而没有将你的棋子暴露在危险中时,你可以分配得分+1,当你拿到对手的棋子时+3。如果对手拿走你的棋子在下一步移动你减去你的sc矿-3。您可以定义其他评分规则。当您对所有可能的移动应用得分后,您可以选择最佳移动方法,使用MinMax算法进行2人游戏或某些贪婪搜索算法,这样可以最大限度地提高分数选择动作的得分,而不会预测对手的移动。