我试图创建一个二维数组并在对角线上放置四个“X”并创建一个双循环来检测和计算 X 的数量,它可以工作,但它不能正确地完成工作,它真正做的是计算 X 的数量在每一行,我的问题是如何让它只计算对角线上的 X?
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(6, 7);
例如,如果我这样做
m[4][1] = "X";
m[3][2] = "X";
m[2][3] = "X";
m[1][4] = "X";
m[5][3] = "O";
m[3][3] = "O";
m[4][3] = "O";
m[2][4] = "O";
或者这个结果是一样的
m[1][1] = "X";
m[2][1] = "X";
m[3][1] = "X";
m[4][1] = "X";
m[5][3] = "O";
m[3][3] = "O";
m[4][3] = "O";
m[2][4] = "O";
这是我所拥有的:
var sumX = 0;
for(var k = 5; k >= 0 ; k--){
if(sumX == 4){
alert("player 1 won");
}
for(var i = 0 ; i<= 6; i++){
if(m[k][i]== "X" ){
sumX += 1;
break;
}
if(m[k][i]== "O" ){
sumX = 0;
}
}
}