if(isEmptySquare(this)){
adjacents = adjacentSquares(this);
$(adjacents).each(function(){
uncoverSquare(this);
//if(isEmptySquare(this)){
//adjacents = adjacentSquares(this);
//$(adjacents).each(function(){
//uncoverSquare(this);
//});
//}
});
}
function adjacentSquares(square){
var thisRow = $(square).parent().parent().children().index($(square).parent());
var thisCol = $(square).parent().children().index($(square));
var prevRow = (thisRow-1);
var nextRow = (thisRow+1);
if(thisCol == 0){sliceFrom = 0;} else { sliceFrom = (thisCol-1);}
var above = $('tr:eq('+prevRow+')').children('td').slice((sliceFrom),(thisCol+2));
var below = $('tr:eq('+nextRow+')').children('td').slice((sliceFrom),(thisCol+2));
var aboveBelow = $.merge(above,below);
var prevNext = $.merge(($(square).next('td')),($(square).prev('td')));
var adjacents = $.merge(aboveBelow,prevNext);
return adjacents;
}
function isEmptySquare(square){
if($(square).filter(function(){return !/[0-9]/.test( $(square).text() );}).not(":contains('x')").length>0){
return true;
} else {
return false;
}
}
jQuery を使用してテーブル セルのフラッド フィル アルゴリズムを実行するにはどうすればよいですか?
現在、ユーザーが表のセルをクリックすると、それが空の場合、隣接するセルが表示されます。それを機能させるために私が見つけた1つの方法は、隣接する正方形のそれぞれに対してコードを繰り返し(コードのこの部分をコメントアウトしました)、コードを繰り返し、コードを繰り返すことでした...ただし、応答しなくなりました.
私は jQuery で最小スイーパー ゲームを作成しようとしています。これを実装する方法はわかりませんが、フラッド フィル アルゴリズムについて言及した人がいます。