Javascript Connect4 AI的奇怪问题
我一直在从事一个Connect 4 Robot项目,为此,我正在尝试使用node.js在我的PC上运行代码,这样它就可以在Raspberry Pi上运行,传感器和一些按钮是唯一的输入。 不幸的是,我对Javascript不是很有经验,这就是为什么我对它有一些问题。 我注释掉了大多数与node.js不兼容的行,并设法让它运行了一轮。 但是,只要我多次调用“act”函数: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
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”函数调用
我如何解决这个问题?首先,你可以将
游戏。原型。放置退出游戏。原型。动作,因为它当前在那里,但可能只是在这里发布时出错。哦,是的,我明白了,是的,这只是发布时的一个错误,谢谢你指出