Есть возможность описать алгоритм для процедурной генерации карты головоломки?
Здравствуйте! Есть головолки по типу: "двигать ящики чтобы они встали на кнопки". Есть двумерная карта с n-количеством ящиков и столько же кнопок. Например игра "Умный грузчик", а вообще встречал много реализаций. Это придумывают люди методом: "а что если так", и пытаются это решить? Есть возмость создать алгоритм автоматической карты головоломки с растановкой кнопок и ясщиков? Разумеется со 100% решаймостью. У кого какие идеи на этот счет есть? Заранее благодарю за помощь.
В крайнем случае всегда можно генерировать уже решенную карту и двигать на ней ящики по всем правилам игры в обратном порядке. Только для интересных уровней надо будет какие-то правила дополнительные для этих ходов подобрать, что бы посложнее варианты были, а не сдвиг туда-сюда одного ящика.
А ещё можно сыпать рандом и проверять решаемость. После чего немного исправлять.