Solucionador de cubos de Rubiks
Solucionador de cubos de Rubik codificado em Python.
Solver codificado por Lucas e Tom Brannan
Para executar o Solver, execute o arquivo cube.py. A GUI será iniciada automaticamente. Se você receber erros, é possível que você não tenha o tkinter instalado. Isso é necessário para executar a GUI.
Características
Basta ler as instruções para ver alguns dos recursos incluídos no Solver. Vários recursos incluídos são:
- Embaralhamentos gerados pelo usuário ou programa
- A capacidade de fazer movimentos personalizados
- A capacidade de clicar no botão de resolução ou em cada etapa da resolução para ver a solução passo a passo
- A capacidade de executar simulações com uma quantidade definida pelo usuário de soluções (tenha cuidado, muitas podem fazer com que o programa congele)
- Capacidade de copiar embaralhamentos ou soluções para a área de transferência, bem como visualizar externamente.
- Clicar no cubo 2D permitirá que você veja as outras peças inferiores que normalmente não são visíveis
Vários comandos
Se não quiser usar a GUI, você também pode simplesmente digitar comandos de função no interpretador. Aqui estão alguns dos úteis:
- print_cube() Imprime o cubo em formato de texto
- scramble() Você pode fornecer um número, um embaralhamento em formato de string ou nada para um embaralhamento padrão de 25 movimentos
- get_scramble() Imprime o embaralhamento anterior
- resolve() Resolverá o cubo
- get_moves() Imprime a solução que foi gerada ao usar resolve()
- simulação(num) O número fornecido é a quantidade de soluções que você deseja simular. Irá retornar a você a melhor solução com sua disputa, bem como a pior solução e sua disputa.
O próprio Solver é baseado em um método de resolução CFOP (Fridrich). Ele resolve o Cross, executa a etapa F2L, faz um OLL de 2 visualizações e um PLL de 2 visualizações. Quanto à notação, é usada a notação básica usada no mundo da cubagem, no entanto, um movimento no sentido anti-horário pode ser denotado com um apóstrofo (maneira padrão) ou usando a letra i (denotando i para inverso).