Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
tic tac toe的随机javascript AI函数不工作_Javascript - Fatal编程技术网

tic tac toe的随机javascript AI函数不工作

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

在一个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”;
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我无法得到任何工作。所以上面写在纸上,它似乎是有意义的,除了这一行…把一个值给我找到空白方块。我对任何建议敞开心扉。再次感谢。