Connect4 AI

时间:2017-05-16 13:53:52

标签: javascript node.js

我一直致力于Connect 4机器人项目,为此我试图让this代码在我的电脑上运行node.js,以便它可以在Raspberry上运行Pi,传感器和一些按钮是唯一的输入。 不幸的是,我对Javascript不是很有经验,这就是我遇到一些问题的原因。 我评论了大多数与node.js不兼容的行,并且我设法使它工作了一轮。 但是,只要我打电话给"行为"功能不止一次:

Game.prototype.act = function(column  /*e*/) {

    // Human round
    if (that.round == 0) that.place(column    /*element.cellIndex*/);

    // Computer round
    if (that.round == 1) that.generateComputerDecision();
}
Game.prototype.place = function(column) {
    // If not finished
    if (that.board.score() != that.score && that.board.score() != -that.score && !that.board.isFull()) {
    if (!that.board.place(column)) {              //Place coin in seperate Board class
        return alert("Invalid move!");
    }

    that.round = that.switchRound(that.round);
    that.updateStatus();
}
}
事情开始变得怪异。例如,当我用" act(1)"测试它时,紧接着" act(2)",第二枚硬币出现在错误的列中。 我使用控制台日志进行了一些测试,看起来程序不按我想要的顺序运行。它似乎开始下一个"行为"函数调用在最后一个完成计算计算机移动之前。

我该如何解决这个问题?

0 个答案:

没有答案