如何检查3x3 tictactoe板是否有空位?到目前为止我没有跑步

时间:2017-06-12 05:31:57

标签: javascript

 // Check if there are any empty cells (boxes) on the board,
  // if so the game is in progress. Otherwise, the game is
 // over and is a tie.
 // YOUR CODE HERE
 for(var row = 0;row < board.length; row++){
  for(var column = 0; column< board[row].length; column++){
  if (board[row][column]===' '){
    return '?'
  }else{
    return '-' ;
  }
}

} }     我不确定应该如何编写此代码,而且我甚至不知道要学习如何检查空盒子/单元格。

3 个答案:

答案 0 :(得分:2)

您可以以嵌套的方式为给定的电路板使用Array#some。如果找到第一个空格,则返回true

function hasSpace(board) {
    return board.some(row => row.some(item => item === ' '));
}

var emptyBoard = [[' ', ' ', ' '], [' ', ' ', ' '], [' ', ' ', ' ']],
    fullBoard = [['X', 'X', 'X'], ['X', 'X', 'X'], ['X', 'X', 'X']];

console.log(hasSpace(emptyBoard));
console.log(hasSpace(fullBoard));

答案 1 :(得分:0)

您不需要在if-else结构的两个分支中返回值。我会尝试类似的东西:

SELECT fl1.flight_city,fl2.flight_city FROM `flight_details` as fl1 JOIN `flight_details` as fl2 on fl2.fid != fl1.fid 

这样,如果你找到一个空的空格,你可以立即返回,但是如果你没有,你必须循环遍历所有的单元格,以确保它们都不是空的,因此只有在循环结束。

答案 2 :(得分:0)

编辑:我不理解问题的背景,而另一条评论在回答你的问题方面做得非常好。不过,我会留下这个提示。

作为Javascript的初学者,我建议您使用控制台命令打印到控制台。在那里你会看到错误和异常。要在chrome中打开开发人员控制台,请按F12(或右键单击&gt;检查页面中的任意位置,然后单击控制台)。

请注意,您尝试返回多个值,但不在功能中。我假设您打算打印它们,并查看数组中的内容。要做到这一点,你可以简单地做:

for(var row = 0;row < board.length; row++){
  for(var column = 0; column< board[row].length; column++){
    if (board[row][column]===' '){
      console.log('?')
    }else{
      console.log('-')
    }
  }
}

另外,请注意您可以使用console.log查看板本身的内容,如下所示:console.log(board)。