Este projeto implementa um simulador de Cubo Mágico (Rubik's Cube) em Python, com uma interface gráfica 3D interativa construída com a biblioteca ursina. O projeto inclui a lógica completa para manipulação do cubo, detecção de estados e uma visualização dinâmica que permite ao usuário interagir com o cubo.
- Simulação Completa do Cubo Mágico: Representação lógica de um Cubo Mágico 3x3x3, incluindo cubinhos de centro, meio e quina.
- Rotações Detalhadas: Implementação de todas as rotações padrão do Cubo Mágico (R, L, U, D, F, B), rotações de camadas centrais (M, S, E) e rotações de camadas duplas (Rw, Lw, Uw, Dw, Fw, Bw), além de rotações de todo o cubo (X, Y, Z).
- Interface Gráfica 3D Interativa: Visualização do cubo em 3D com a biblioteca
ursina, permitindo rotações animadas e interação do usuário. - Detecção de Estado: Funções para verificar se o cubo está resolvido ou se partes específicas (meios, quinas) estão corretas.
- Embaralhamento e Resolução (Potencial): Inclui uma função para embaralhar o cubo aleatoriamente e a integração com a biblioteca
kociemba(embora a lógica de resolução completa não esteja explicitamente detalhada nos snippets fornecidos, a importação sugere essa capacidade). - Execução de Comandos Sequenciais: Capacidade de executar uma sequência de movimentos do cubo a partir de uma string de comandos.
- Python 3
- NumPy: Para manipulação eficiente de coordenadas e matrizes de rotação dos cubinhos.
- Ursina Engine: Biblioteca de jogos em Python para a criação da interface gráfica 3D e interações visuais.
- Kociemba: Biblioteca para algoritmos de resolução do Cubo Mágico (importada, mas o uso completo não está detalhado nos snippets).
cubo.py: Contém a lógica principal do Cubo Mágico, incluindo a definição dos cubinhos, suas coordenadas, adesivos e todas as funções de rotação e verificação de estado.Interface do cubo.py: Implementa a interface gráfica 3D usandoursina, visualiza o cubo, gerencia as animações de rotação e processa a entrada do usuário.
Para executar este projeto, siga os passos abaixo:
-
Clone o repositório:
git clone https://github.com/Davimmo/CuboBF.git cd CuboBF -
Instale as dependências:
Certifique-se de ter o
pipinstalado. Em seguida, instale as bibliotecas necessárias:pip install numpy ursina kociemba
-
Execute a interface gráfica:
Para iniciar a simulação do Cubo Mágico com a interface 3D, execute o arquivo
Interface do cubo.py:python "Interface do cubo.py"Você pode interagir com o cubo usando as teclas definidas no código (
u,i,o,j,k,lpara rotações de face,alt + [tecla]para rotações de camada dupla, etc.).
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests para melhorias, correções de bugs ou novas funcionalidades.
Davimmo