Carleton University - School of Computer Science Honours Project
Winter 2019
Improving Rubik's Cube Solutions
SCS Honours Project Image
ABSTRACT
This project was designed using JavaScript, HTML, CSS and the help of a few libraries to provide users a friendly interface to solve the Rubik's Cube. It generates random 20 move scrambles for the cube as well as accepts user scrambles as input. The cube turns itself based on a variety of input so that users can interact visually. And most importantly it solves a portion of the cube known as the “cross” in the fewest amount of moves possible. This was achieved by defining all the possible moves for the cube and iterating through all the combinations from the ground up in a game tree like fashion. This project involved defining a hierarchy of DOM objects, 3D styling in CSS, an understanding of recursive search and careful mapping from 2D into 3D. It can be used on all browsers with the appropriate WebKit extension. This project was made to be an aid for all types of solvers regardless of experience.