0

我试图创建一个二维数组并将四个X放在同一列中。我创建了一个循环来检测和计算Xs 的数量,但它不起作用。

 var creatematrix = function (nbRang, nbColumn) {
    var result = Array(nbRang);
    for (var i=0; i<nbRang; i++) {
        result[i] = Array(nbColumn);
    }
    return result;
};

var m = creatematrix(2, 6);

m[1][2] = "X";
m[1][3] = "X";
m[1][4] = "X";
m[1][5] = "X";

   var sumX = 0

   for(var k = 0; k < 6 ; k++){



                  if(m[1][k]== "X"){
                    sumX += 1;   

             }else if(sumX == 4){

                   alert("player won");  
                }   

   }
4

1 回答 1

0

您的代码永远不会命中sumX == 4,因为它在最后一次检查时落入第一个 if 语句,然后循环结束。您应该在另一个 if 语句而不是 else if 中进行检查。

if(m[1][k]== "X"){
    sumX += 1;
}
if(sumX == 4){
    alert("player won");
    break;
}
于 2013-03-24T01:27:12.807 回答