Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Connect4 AI的奇怪问题_Javascript_Node.js - Fatal编程技术网

Javascript Connect4 AI的奇怪问题

Javascript Connect4 AI的奇怪问题,javascript,node.js,Javascript,Node.js,我一直在从事一个Connect 4 Robot项目,为此,我正在尝试使用node.js在我的PC上运行代码,这样它就可以在Raspberry Pi上运行,传感器和一些按钮是唯一的输入。 不幸的是,我对Javascript不是很有经验,这就是为什么我对它有一些问题。 我注释掉了大多数与node.js不兼容的行,并设法让它运行了一轮。 但是,只要我多次调用“act”函数: Game.prototype.act = function(column /*e*/) { // Human rou

我一直在从事一个Connect 4 Robot项目,为此,我正在尝试使用node.js在我的PC上运行代码,这样它就可以在Raspberry Pi上运行,传感器和一些按钮是唯一的输入。 不幸的是,我对Javascript不是很有经验,这就是为什么我对它有一些问题。 我注释掉了大多数与node.js不兼容的行,并设法让它运行了一轮。 但是,只要我多次调用“act”函数:

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)”,第二个硬币出现在错误的列中。 我用控制台日志做了更多的测试,看起来程序没有按照我想要的顺序运行。它似乎在最后一个“act”函数调用完成计算机移动计算之前启动下一个“act”函数调用


我如何解决这个问题?

首先,你可以将
游戏。原型。放置
退出
游戏。原型。动作
,因为它当前在那里,但可能只是在这里发布时出错。哦,是的,我明白了,是的,这只是发布时的一个错误,谢谢你指出