Кубик Рубика-Решатель
Решатель кубика Рубика, написанный на Python.
Решатель, написанный Лукасом и Томом Брэннаном
Чтобы запустить Солвер, запустите файл Cube.py. Графический интерфейс запустится автоматически. Если вы получаете ошибки, есть вероятность, что у вас не установлен tkinter. Это необходимо для запуска графического интерфейса.
Функции
Просто прочитайте инструкции, чтобы увидеть некоторые функции, включенные в Solver. Включены различные функции:
- Скрамблы, генерируемые пользователем или программой
- Возможность делать собственные ходы
- Возможность нажимать кнопку решения или каждый шаг решения, чтобы увидеть его решение шаг за шагом.
- Возможность запуска моделирования с заданным пользователем количеством решений (будьте осторожны, слишком большое количество может привести к зависанию программы)
- Возможность копировать загадки или решения в буфер обмена, а также просматривать их снаружи.
- Нажав на 2D-куб, вы сможете увидеть другие нижние плитки, которые обычно не видны.
Различные команды
Если вы не хотите использовать графический интерфейс, вы также можете просто вводить функциональные команды в интерпретаторе. Вот некоторые из полезных:
- print_cube() Печатает куб в текстовом формате.
- scramble() Вы можете указать число, код шифрования в строковом формате или ничего для стандартного режима шифрования на 25 ходов.
- get_scramble() Печатает предыдущую зашифрованную информацию.
- solve() Решит куб
- get_moves() Распечатывает решение, сгенерированное при использовании методаsolve().
- Simulation(num) Указанное число — это количество решений, которые вы хотите смоделировать. Вернет вам лучшее решение с его схваткой, а также худшее решение с его схваткой.
Сам решатель основан на методе решения CFOP (Фридрих). Он решает крест, выполняет шаг F2L, выполняет 2-просмотр OLL и 2-просмотр PLL. Что касается обозначений, используются базовые обозначения, используемые в мире кубирования, однако движение против часовой стрелки можно обозначить либо апострофом (стандартный способ), либо буквой i (обозначая i для обратного).