Решение головоломки с использованием ИИ

Я сделал головоломку, в которой игрок двигает блоки вокруг целей - правила довольно просты:

Только один блок слайдера может двигаться одновременноЦель состоит в том, чтобы переместить блоки ползунка в узлы цели - вам нужно только заполнить узлы цели, а не обязательно доставлять все блоки ползунка в узлы цели.Если блок слайдера скользит по льду, он будет продолжать двигаться в этом направлении, пока не будет остановлен или перемещенЕсли блок ползунка попадает во что-то твердое (бетон, другой блок), он останавливается и может быть снова перемещен (очевидно, не в бетон)Если скользящий блок скользит по дереву, он останавливается на дереве и может быть перемещенЕсли блок слайдера скользит по целевому узлу, он больше не может быть перемещенБлок может быть перемещен определенными блоками, например, блок стрелки перемещает блок в этом направленииЕсть блоки переключателей, которые позволяютдвери», к которому можно перейти, чтобы открыть и закрыть эти "двери»Существуют блоки кнопок, которые работают аналогично переключателям, за исключением того, что на них должен быть блок, чтобы активировать "двери»Когда двери закрыты, они действуют как бетон. Когда двери открыты, они действуют как лед.

Я думаю что'Правила охвачены. Вот несколько скриншотов:

Здесь игрок должен перемещать блоки так, чтобы они могли ударить друг друга, чтобы решить головоломку.

Загадка в этомС почти решенным состоянием. Обратите внимание, как блок ударил другой блок и остановился

Вот еще одна загадка, в которую включена механика толкающего блока:

Если мы сдвинем верхний правый блок вниз, произойдет следующее:

Как вы можете видеть, блок был перемещен влево, когда он попал в блок стрелок, и остановился сверху деревянного блока.

Я хотел бы написать решение для ИИ, которое решает эти головоломки - я думал, что это будет своего рода поиск в глубину, но я неЯ не знаю, с чего начать. Любые указатели на то, чтобы это произошло, было бы здорово!

Ответы на вопрос(1)

Ваш ответ на вопрос