2017-10-10 40 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是很生疏,我敢肯定,你可以把这个代码看起来更漂亮)