NxNxN Rubik Cube implementation
Project description
MagicCube: A NxNxN Rubik Cube implementation
A fast implementation of the Rubik Cube based in Python 3.x.
Allows creation of cubes of various sizes (2x2x2, 3x3x3, 4x4x4, 6x6x6, ...., 100x100x100).
Has a simple (not so efficient) solver for the 3x3x3 cube.
Installation
pip install magiccube
Usage
import magiccube
# 3x3x3 Cube
cube = magiccube.Cube(3)
print(cube)
# Rotate the cube
cube.rotate("R' L U D' F B' R' L")
# Solve the 3x3x3 cube
solver = BasicSolver(cube)
solver.solve()
# 6x6x6 Cube
cube = magiccube.Cube(6)
cube.rotate("Rw' Lw 3Uw'")
Examples
See examples folder.
Supported Moves and Notation
Basic moves
Move | |
---|---|
L L' | Clockwise/Counterclockwise cube rotation of the LEFT face. |
R R' | Clockwise/Counterclockwise cube rotation of the RIGHT face. |
D D' | Clockwise/Counterclockwise cube rotation of the DOWN face. |
U U' | Clockwise/Counterclockwise cube rotation of the UP face. |
F F' | Clockwise/Counterclockwise cube rotation of the FRONT face. |
B B' | Clockwise/Counterclockwise cube rotation of the BACK face. |
Advanced Moves
Move | |
---|---|
X X' | Cube rotation on X axis. X is the axis that points from LEFT to the RIGHT face. |
Y Y' | Cube rotation on Y axis. Y is the axis that points from DOWN to the UP face. |
Z Z' | Cube rotation on Z axis. Z is the axis that points from BACK to the FRONT face. |
Fw Fw' | Wide rotation of 2 layers. |
3Fw 3Fw' | Wide rotation of 3 layers. |
3F 3F' | Rotation of the 3rd layer. |
Cube Coordinates
Cube coordinates are expressed as a tuple of x,y,z.
(0,0,0) is the piece on the LEFT,DOWN,BACK corner.
In a 3x3x3, (2,2,2) is the piece on the RIGH,UP,FRONT corner.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
magiccube-0.0.2.tar.gz
(11.6 kB
view hashes)
Built Distribution
Close
Hashes for magiccube-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6fe9d666448df39f5d82eebe970db62e299c8bcf8d30296b673b2c9dddf5042 |
|
MD5 | b7db8a6150533ccb94a65813a2af4554 |
|
BLAKE2b-256 | 813276d77a31d4bc574b3e985d7d192fb672e6643615d6f9ca27b103255fc003 |