Website with features, to do list, and history located here: http://acesoftware.110mb.com/cube/cubeteacher/
Alright so this whole project started as a science fair project for my junior year in high school. In the beginning I had simple solver that had a Fridrich solve method.
What it is now:
I have added more features, optimizations, and annotations to the solver. I also made a graphical representation of the cube from scratch (no external libraries needed). You can freely rotate the entire cube with the mouse; however, in order to manipulate the cube you use the keyboard. The default key mappings are similar to the online cube created by Ryan Heise. It has a natural and flowing feel once you get used to the keys.
The program allows you to reset, scramble, and solve the virtual cube. There is also a mode called 'user solve mode' which you can learn about once you run the program. Now the main goal of this program is to be a teacher. So I have included a music-player type system. You can fast-forward through the solution, watch the solution backwards, pause it, play it, etc. In addition to this, I have also put it small annotations for each algorithm that is executed during the solve.
In my opinion, one of the best features is called 'Phase focus'. When solving the cross, the solver will gray out all the other pieces except the cross pieces. When solving the F2L, the solver will gray out the last-layer pieces. When solving the OLL, the solver will gray out the last-layer horizontal faces so that only the top color is shown.
Its not necessarily a 'Cube Teacher'. It is simply designed for you to have fun and find optimal Fridrich solutions. It can also help you to learn things that you can use for FMC competitions. I will add some algorithm accessibility so that users can input custom algorithms/scrambles/etc, that way it can also be used in a similar fashion to this online cube: http://cube.garron.us/tools/algsolve.php?alg=R. It is simply to help those visual learners out there.
What you can do to help me out:
I am releasing the program to the public now in its beta stage in hope that you can explore every possibility that it has to offer currently. I am hoping that you'll find bugs and possibly you'll have some suggestions for improvement. Constructive criticism please. Now before you give me a suggestion, try to think like a programmer and ask yourself, "Hmm. Is this suggestion going to be almost impossible to implement or is it a reasonable idea?"
Here are some things that I am already planning to implement in future version:
- 2x2, 4x4, etc.
- Multi-threaded solver
- External solvers
- COLL, Winter-variation, MGLS, ZZ capabilities
And you could also help me out by donating through paypal
- Added instant scramble.
- Added solution chooser.
- Added user-definable OLL + PLL algorithms.
- Added cube manipulation by mouse.
- Added context-sensitive help in the form of tooltip balloons.
- Sequence log now scrolls as new lines are added.
- Reorganized menu items.
- Fixed minor bugs.
- Fixed minor solver bugs.
- Added new algorithms to solver that will result in the cross solutions using some relativity techniques.
- Fixed bug that with double-turns (eg. R2).
- Fixed bug with control focus that didn't allow hotkeys.
- Added ability to use an external cube configuration.
- Fixed minor bugs (including improper menu item graying, and logging of user turns).
- Added apply instant sequence.
- Added website link to About dialog.
- Renamed FPS to DPS (draws per second) for reasons explained in the documentation.
- Reworked internal coding a bit. Support for double-slice turns added.
- Fixed sequence log bug.
- Fixed sequence apply bug.
- Added sequence log.
- Added sequence apply.
- Added donate button.
- Fixed updater bug.
- Fixed scrambler bug.
- Fixed save bug which didn't save the 'Gray opacity' option.
- Reworked settings dialog.
- Added option to force solver to solve cross on certain sides only.
- Added option to prefer F2L slots solved during cross (X-Cross tendency).
- Added option to not cancel moves between phases and between F2L pairs.
- Added new algorithm to solver that will result in the cross solutions using some 'helper' techniques.
- Fixed 'User solve mode' bug.
- Added FPS on/off option to the settings.
- Added 'Check updates on startup' option to the settings. Updater is now run on a separate thread.
- Fixed bug where user could turn cube while a sequence was active.
- Fixed FPS bug.
- Added updater
- Fixed bug where Phase focus, F2L Pair Highlighting, and Phase text highlighting couldn't be turned off.
- Removed setting for 'Remove hidden surfaces'.
- Internally modularized the entire cube graphical interface to a component-like class.
- Added timer.
- Original release for beta testing.
I'm also working on a general website for solving the cube if you want to keep an eye on that (I've only got the cross page and the methods page done...):