1

私は Connect 4 ゲームを作成しており、各 td が行と列の値、つまり (1,2) を持つ td 要素のテーブルを作成しました。ここ:

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 に同様のカラー クラスがあるかどうかを確認します。チェッカーは、次の 4 つの td を右に移動する必要があります。同様の色の 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

I think that you should look at this sample for the Connect 4 game: http://www.lazylab.org/152/java/connect-four-game-coding-puzzle-algorithm-in-java/ Although it's java code, i think you could translate it into javascript

于 2013-05-28T14:46:50.800 に答える