2D配列を作成し、4つの「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;
}
}
}