0
我試圖創建一個二維陣列,並將四個「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;
}
}
}
它不工作:( – mike10101 2013-03-24 17:54:08
@ nooby102030定義「不工作」是什麼不是做你期望? – 2013-03-24 17:54:40
你的代碼沒有計算對角線上的X我試過了,它不會計算它們 – mike10101 2013-03-24 17:59:08