2015-05-26 46 views
0

你好我正在做一個記憶遊戲與JavaScript和我不能做的計時器,我想做一個計時器,開始計數,當我加載第一次,並結束時,他發現所有對,我不知道該怎麼辦,如果有人可以幫助我在這裏 是我的代碼:你好我正在做一個記憶遊戲與javascript

var array_cartas = ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D', 'E', 'E', 'F' 
var valores_cartas = []; 
var idCartas = []; 
var cartas_viradas = 0; 

function iniciar_temporizador() { 
    temporizador = 0; 
    minutos = Math.floor(temporizador/60); 
    segundos = (temporizador - minutos * 60) + ''; 
} 

Array.prototype.memory_tile_shuffle = function() { 
    var i = this.length, 
     j, temp; 
    while (--i > 0) { 
     j = Math.floor(Math.random() * (i + 1)); 
     temp = this[j]; 
     this[j] = this[i]; 
     this[i] = temp; 
    } 
} 

function novoJogo() { 
    cartas_viradas = 0; 
    var saida = ''; 
    array_cartas.memory_tile_shuffle(); 
    for (var i = 0; i < array_cartas.length; i++) { 
     saida += '<div id="tile_' + i + 'onclick="virar_carta(this,\'' + array_cartas[i] + '   \')"></div>'; 
    } 
    document.getElementById('memory_board').innerHTML = saida; 
} 

function virar_carta(tile, val) { 
    if (tile.innerHTML === "" && valores_cartas.length < 2) { 
     tile.style.background = '#FFF'; 
     tile.innerHTML = val; 
     if (valores_cartas.length == 0) { 
      valores_cartas.push(val); 
      idCartas.push(tile.id); 
     } else if (valores_cartas.length === 1) { 
      valores_cartas.push(val); 
      idCartas.push(tile.id); 
      if (valores_cartas[0] === valores_cartas[1]) { 
       cartas_viradas += 2; 
       // limpa ambas as listas 
       valores_cartas = []; 
       idCartas = []; 

       if (cartas_viradas === array_cartas.length) { // 
        alert("Parabéns acabou o jogo"); 
        document.getElementById('memory_board').innerHTML = ""; 
        novoJogo(); 
       } 
      } else { 
       function virar_para_costas() { 

        var tile_1 = document.getElementById(idCartas[0]); 
        var tile_2 = document.getElementById(idCartas[1]); 
        tile_1.style.background = 'url(tile_bg.jpg) no-repeat'; 
        tile_1.innerHTML = ""; 
        tile_2.style.background = 'url(tile_bg.jpg) no-repeat'; 
        tile_2.innerHTML = ""; 

        valores_cartas = []; 
        idCartas = []; 
       } 
       setTimeout(virar_para_costas, 500); 
      } 
     } 
    } 
+1

你是什麼意思與「幫助我的代碼」?你有任何特定的編程問題或錯誤?那麼請說明它。你會得到什麼錯誤?什麼不工作。如果你想讓我們寫你的代碼 - 忘記它。 – Alexander

+0

他在他的問題的第一行中陳述了他想要的東西@亞歷山大''我不能做定時器'' –

+0

這有點無知,你不覺得@walther?你應該知道,世界上不是每個人都會說英語。不管變量名是什麼語言都沒有關係,一切仍然會一樣。 –

回答

0

使用setInterval做一個變量增加每一秒。在完成顯示完成時間後獲取它的值。

$(function(){ 

    var seconds = 0; 

    setInterval(function(){ 
     seconds++; 
     $('input').val(seconds); 
    }, 1000); 

}); 

見我的例子在這裏JSFIDDLE

在同一點上,你的遊戲是完整的,顯示「遊戲結束」屏幕上,一個新的var稱爲finishTime什麼的,並得到了var的價值seconds我們正在上面的腳本中使用。

所以把它的另一種方式,當比賽結束後,這樣做:

var finishTime = seconds; 
+0

謝謝!但是我現在怎麼辦?當我發現所有的對都完成了? –

+0

看到我的編輯,當人們完成遊戲時,你只需要獲取變量'seconds'的值:)死容易 –

+0

謝謝先生,你給了我很大的幫助 –