1

我正在创建一个 Connect 4 游戏并创建了一个 td 元素表,其中每个 td 都有一个 row 和 col 值,即 (1,2)。这里:

for(var i = 0; i < rows; i++) {
    $('table').append('<tr></tr>');
    for(var j = 0; j < cols; j++) {
    $('table').find('tr').eq(i).append('<td></td>');
    $('table').find('tr').eq(i).find('td').eq(j).attr('data-row', i).attr('data-col', j);
}

我也有代码在点击时为每个 td 分配一个 css 类(每次点击颜色都会改变,因为它是 2 个玩家的颜色)。然后我想移动到右侧的 td (最后都是右、左、上和下),然后检查该 td 是否具有相似的颜色类,检查器需要转到 td 之后的 4 个向右查找是否有一系列相似颜色的 td(即连续 3 个红色 td 没有任何效果,但是 4 个可以)我想使用类似于我已经拥有的代码的东西,因为我通常可以理解它。在这里,ps 我知道 IF 语句的顺序完全不正确,我使用的是 for 循环(x = 1; x < 4; x++):

var win = false;
if(win == false) {
    if($(this).hasClass('tdred')) {
        var colindex = parseInt($(this).attr('data-col')) + 1;
        var chosen = $('table tr').eq(colindex).find('td');
        // ^ Moves to next td right of
        //begin check if has class tdred
        if($(chosen).hasClass('tdred')) {
            x++;
            alert(data - col + "is red");
            var colindex = parseInt($(this).attr('data-col')) + 1;
            if(x = 4) {
                win == true;
            }
            if(x < 4)
        }
    } else {
        alert("not red");
    }
}
} else if(win == true)
    Alert("You win");
}

希望你喜欢 if 语句的可怕积累,我相信这是纯粹的挫败感。

4

1 回答 1

0

我认为您应该看一下 Connect 4 游戏的示例:http ://www.lazylab.org/152/java/connect-four-game-coding-puzzle-algorithm-in-java/ 虽然它是 java 代码,我想你可以把它翻译成javascript

于 2013-05-28T14:46:50.800 回答