tic tac toe的随机javascript AI函数不工作
在一个Tic-Tac-Toe游戏中,玩家对cpu的设置是直接的JS。我试图找出一个cpu循环的随机函数。它正在点击函数并通过它。log(cpuTurn());在玩家标记一个方块后总是返回false 我已经用过这句话,我相信这就是问题所在:if(I==“”)空格。push([I]) 如果我声明一个var,比如Val,并将它放在前面:If(Val(I)==“”。。。我将得到一个错误,说明“Val”不是函数 我完全不知道我在这里需要做什么tic tac toe的随机javascript AI函数不工作,javascript,Javascript,在一个Tic-Tac-Toe游戏中,玩家对cpu的设置是直接的JS。我试图找出一个cpu循环的随机函数。它正在点击函数并通过它。log(cpuTurn());在玩家标记一个方块后总是返回false 我已经用过这句话,我相信这就是问题所在:if(I==“”)空格。push([I]) 如果我声明一个var,比如Val,并将它放在前面:If(Val(I)==“”。。。我将得到一个错误,说明“Val”不是函数 我完全不知道我在这里需要做什么 var player=“X”; var cpu=“O”; v
var player=“X”;
var cpu=“O”;
var currentTurn=玩家;
函数startName(){
对于(var i=1;i,这里是您的解决方案。
如果你在理解上有困难,请告诉我,我会解释的
function cpuMove() {
var blanks = [];
for (var i = 1; i <= 9; i++) {
var place = document.getElementById("s"+i).innerText
if(place == "") blanks.push([i]);
}
if (blanks.length > 0) {
var r = Math.floor((Math.random() * blanks.length));
nextMove(document.getElementById("s"+blanks[r]));
}
}
函数cpuMove(){
var空白=[];
对于(变量i=1;i 0){
var r=Math.floor((Math.random()*blanks.length));
nextMove(document.getElementById(“s”+空格[r]);
}
}
熟悉调试器,逐步检查代码并查看发生了什么应该很容易。var Val=0;并且您像Val(i)一样使用它?与字符串相比,i==“
integer”如何?我可能在这里遗漏了一些东西,但i
什么时候会丢失呢如果你在for循环中分配i
?谢谢你的回答。这就是我一直在寻找一种方法来迭代正方形,以确定其中是否有X或O。我对JS的无知让我很难受。我曾想过,但无法开始工作的是使用我的getBox函数来找到空格的#。但是我的liJS我无法得到任何工作。所以上面写在纸上,它似乎是有意义的,除了这一行…把一个值给我找到空白方块。我对任何建议敞开心扉。再次感谢。