Я пытаюсь написать приложение-головоломку.Мне нужно выяснить, сколько ходов требуется, и сколько существует решений.
Я бы предпочел не давать слишком много подробностей о головоломке.но игрок перемещается по сетке (скажем, 5 х 7), когда он движется, препятствия могут быть захвачены, поэтому необходимо отслеживать состояние доски.(это можно сделать в виде строки или массива)
Я понимаю, что мне нужно создать TreeNode, начиная с корня (начальная позиция игроков), и дать каждому узлу дочерние элементы возможных ходов, пока все возможныеходы рассчитаны.Тогда можно было собрать статистику головоломки.Количество возможных решений, минимальное количество ходов, которые нужно решить, среднее количество ходов, которые нужно решить, и т. Д.
У меня есть логика головоломки, которая будет возвращаться, если ходы возможны и тому подобное.У меня проблемы с созданием структуры TreeNode и проверкой того, чтобы ходы не дублировались.
Само приложение-головоломка находится на iPhone, но я пишу этот решатель / редактор на Mac.Любая помощь будет очень ценится.