Возьмем к примеру пазл по типу 3 в ряд, то есть есть к примеру прямоугольная доска на которой есть разного цвета шарики, передвигая их вниз/вверх или влево/вправо если совпадают 3 или более одинаковых цветов подряд (горизонтально или вертикально) они исчезают, далее все остальные падают на их место, пустующие заполняют новые.
Вопрос - как правильно их выстраивать и после уничтожения, выстраивать новые так чтобы возможности передвижения все еще были, чтобы не было такого что убрал цвета а после добавления новых просто не было ходов?
Думаю это как-то должно просчитываться, вот только как, подскажите статейки по подобной теме, или как правильно это дело выстраивать.
Как вариант, до отображения, сгенерировать шарики что выпадут на места удаленных. Потом проверить на наличие комбинаций, если их нет, то повторить эту процедуру.