【问题标题】:minimax code returns always 0 [closed]minimax 代码总是返回 0 [关闭]
【发布时间】:2012-12-16 16:59:15
【问题描述】:

我从维基百科写了一个 Alpha-Beta 修剪。我正在尝试编写一个四连接 AI。该函数应该返回列号,然后我的主函数进行移动。

【问题讨论】:

    标签: java numbers artificial-intelligence minimax alpha-beta-pruning


    【解决方案1】:

    我相信你的问题出在这一行:

    if(temp[i][column-1] == '0')
    

    temp 是一个 int 数组。你应该只比较0'0' 表示字符 0,Java 将其解释为整数 (48)。无论如何,你应该使用这个:

    if(temp[i][column-1] == 0)
    

    【讨论】:

    • 我会更进一步,这段代码从未编译过。
    • 没错,java 和它的类型安全特性...编辑得当。
    • Java 实际上会让您在整数和字符之间进行直接比较/赋值,因为字符实际上只是以特殊方式解释的整数。有关详细信息,请参阅 Character 类 javadocs。顺便说一句,我并不是说您的回答总体上是错误的,只是指出了那个小错误。
    • 代码现在可以运行,但它只返回列号 1 和 2。这个问题是在 minimax 还是我的评估函数中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 2017-09-13
    • 2013-08-09
    • 2015-09-27
    相关资源
    最近更新 更多