解决方案

Minimax将会探测一个固定的追寻深度,或者当某个局面状态没有可行走法时放弃继续探测。例7-6的Java代码返回了给定局面状态下,玩家的最好走法。

例7-6:Minimax Java实现

阅读 ‧ 电子书库
阅读 ‧ 电子书库

MAX和MIN选择器简单地计算出得分,然后按需选出最大的或则最小的分数。实现使用了IComparator接口,如图7-16所示。这个接口定义了MAX和MIN,使得能够更加正确地为玩家挑选出最优走法。opposite()方法是在MAX和MIN选择器中切换。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

initialValue()返回这些比较器中最差的分数,根据所处层级属于MAX或是MIN,我们得到不同的实际值。

阅读 ‧ 电子书库
图 7-16 IComparator接口重载了MAX和MIN操作符