连接4游戏 - 结束条件

时间:2017-10-10 21:16:14

标签: javascript

我正在用javascript构建一个connect 4 web应用程序。我目前正在尝试制作一款“最终游戏”。检查整个网格是否已填满且没有获胜者的位置,游戏将结束。

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循环(我需要允许不同大小的游戏板)来解决这个问题。

1 个答案:

答案 0 :(得分: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非常生疏,我确定你可以让这段代码看起来更好)