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?
В настоящее время, когда пользователь нажимает на ячейку таблицы, если она пуста, то смежные ячейки не раскрываются,Один из способов заставить его работать - повторить код для каждого из соседних квадратов (я прокомментировал эту часть кода), а затем повторить код, повторить код ..... хотя он стал не отвечающим.
Я пытаюсь сделать игру на minsweeper с jQuery, и кто-то упомянул мне алгоритм заполнения, хотя я не уверен, как это реализовать.