🔄 The objective of this project is to graphically represent a Rubik's cube and to find a solution for a given state.
Java HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
src/com/company
README.md
RubiksCube.iml

README.md

RubiksCubeSolver

The objective of this project is to graphically represent a Rubik's cube and to find a solution for a given state. A rubik’s cube is a three dimensional puzzle; the goal is to correctly orient all pieces such that each of the six faces only has one colour occupying it. The cube is made up of corner pieces (with 3 sides) and edge pieces (with 2 sides). In any state, a cube has 12 possible turns: the clockwise and counterclockwise rotation of the six faces. This program uses predetermined patterns and pattern recognition to piece together a solution to any state of a cube. The cube will be graphically displayed as it's geometric net and represented as a 2D array of values. This program currently generates solutions of approximately 100 quarter turns. In comparison, the optimal algorithm (Kociemba’s algorithm) can find a solution to any cube in 26 quarter turns or less.

Checkout the full design document on Google Drive.

Scramble:

screen shot 2017-05-21 at 3 12 21 pm

Partially solved state:

screen shot 2017-05-21 at 3 12 31 pm