三目並べゲームを作っています。
次のコードを変更して、完了が真になる前に勝者を宣言でき(すべての正方形が塗りつぶされ)、勝者が3つの一致する値を最初に達成し、最後に達成しないようにするにはどうすればよいですか?
function check_squares () {
var values = new Array();
var complete = true;
$('.square').each(function () {
values.push( $(this).html() );
//if ($(this).html() == '') complete = false;
});
if (complete == true) {
var winner = false;
if ( values[0] == values[1] && values[1] == values[2] ) winner = values[0];
if ( values[3] == values[4] && values[4] == values[5] ) winner = values[3];
if ( values[6] == values[7] && values[7] == values[8] ) winner = values[6];
if ( values[0] == values[3] && values[3] == values[6] ) winner = values[0];
if ( values[1] == values[4] && values[4] == values[7] ) winner = values[1];
if ( values[2] == values[5] && values[5] == values[8] ) winner = values[2];
if ( values[0] == values[4] && values[4] == values[8] ) winner = values[0];
if ( values[2] == values[4] && values[4] == values[6] ) winner = values[2];
if (winner) {
$('#output').html('Winner: ' + winner);
} else {
$('#output').html('No Winner');
}
} else {
if (player_x == true) {
$('#output').html('x turn to move');
} else {
$('#output').html('o turn to move');
}
}
}