2017-10-10 42 views
0

我正在用javascript構建連接4網絡應用程序。我目前正在嘗試創建一個「結束遊戲」檢查,如果整個網格被填滿並且沒有贏家,則遊戲將結束。連接4遊戲 - 完成條件

function endGame(yTarget, xTarget) { 
    let topRowOpen = true; 

    // must have all yTarget index to have class for game to end 

    for (let i = 0; i < yTarget + 1; i++) { 
    let box = $(`#g-${i}-${0}`); 
    console.log(box) 
    if (box.hasClass("selectedP0Box") || box.hasClass("selectedP1Box")) { 
     topRowOpen = false; 
    } 
    } 
    return !topRowOpen; 
} 

我似乎無法弄清楚使用for循環(我需要允許不同大小的遊戲板)。

+2

你是不是想循環遍歷整個板並檢查它是否被填充?另外,你能解釋一下yTarget和xTarget是什麼嗎? –

+1

'$ {0}'???可以一個0是一個變量標識符? – zer00ne

回答

0

下面是更多,你正在尋找的東西:

var moveAvailable = function() { 
    var n = 0; 
    while (true) { 
     var topCell = $('g-' + (n++) + '-0'); 
     if (!topCell.length) break; 

     // It's important to use &&, not || here: 
     if (!topCell.hasClass('selectedP0Box') 
      && !topCell.hasClass('selectedP1Box')) return true; 
    } 

    // All top cells were checked; none were empty 
    return false; 
} 

(注:我的jQuery是很生疏,我敢肯定,你可以把這個代碼看起來更漂亮)