2013-03-24 3 views
0

Я попытался создать 2D-массив и поместить четыре X в том же столбце. Я создал цикл для обнаружения и подсчета числа X, но он не работает.счетчик символов в 2D-массиве

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"); 
       } 

    } 
+2

'для (вар к = 6, к <= 6; к -)' <- –

+2

* "почему есть бесконечный цикл на моей программе?" * Потому что вы его туда;) ' k' всегда будет '<= 6', так как вы начинаете с' 6' и всегда уменьшаете число. –

+0

Как только я заметил ошибки с '--' в JS. Поэтому я всегда стараюсь «++». –

ответ

0

Ваш код никогда не ударил sumX == 4, потому что он падает в первый, если заявление о последней проверке, а затем цикл заканчивается. Вы должны сделать чек в другой инструкции if вместо else if.

if(m[1][k]== "X"){ 
    sumX += 1; 
} 
if(sumX == 4){ 
    alert("player won"); 
    break; 
} 
+0

спасибо, что он работает сейчас! – mike10101

Смежные вопросы