1. ## CubeTeacher

Website with features, to do list, and history located here: http://acesoftware.110mb.com/cube/cubeteacher/

Background:
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.
• External solvers
• COLL, Winter-variation, MGLS, ZZ capabilities

And you could also help me out by donating through paypal

History:
v1.0.0.0:
• 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.
• Fixed minor bugs.

v0.9.2.1 Beta:
• Fixed minor solver bugs.
• Added new algorithms to solver that will result in the cross solutions using some relativity techniques.

v0.9.2.0 Beta:
• Fixed bug that with double-turns (eg. R2).
• Fixed bug with control focus that didn't allow hotkeys.

v0.9.1.9 Beta:
• Added ability to use an external cube configuration.
• Fixed minor bugs (including improper menu item graying, and logging of user turns).

v0.9.1.8 Beta:
• Renamed FPS to DPS (draws per second) for reasons explained in the documentation.
• Reworked internal coding a bit. Support for double-slice turns added.

v0.9.1.7 Beta:
• Fixed sequence log bug.
• Fixed sequence apply bug.

v0.9.1.6 Beta:

v0.9.1.5 Beta:
• 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.

v0.9.1.4 Beta:
• Fixed 'User solve mode' bug.

v0.9.1.3 Beta:
• 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.

v0.9.1.2 Beta:
• Fixed FPS bug.

v0.9.1.1 Beta:
• 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.

v0.9.1.0 Beta:

v0.9.0.0 Beta:
• 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...):
http://acesoftware.110mb.com/cube/

Screenshots:

2. Originally Posted by dougbenham
The program requires Microsoft .NET Framework 2.0 which you probably already have

I would totally try this if I wouldn't have to get out my old laptop...

3. Originally Posted by Lucas Garron
Originally Posted by dougbenham
The program requires Microsoft .NET Framework 2.0 which you probably already have

I would totally try this if I wouldn't have to get out my old laptop...
You don't have the .NET Framework installed on your desktop computer?

4. Originally Posted by dougbenham
Originally Posted by Lucas Garron
Originally Posted by dougbenham
The program requires Microsoft .NET Framework 2.0 which you probably already have

I would totally try this if I wouldn't have to get out my old laptop...
You don't have the .NET Framework installed on your desktop computer?
There are other operating systems than Windows . Maybe it'll work with Mono, but i'm currently too lazy to install it.

5. Originally Posted by tim
Originally Posted by dougbenham
Originally Posted by Lucas Garron
Originally Posted by dougbenham
The program requires Microsoft .NET Framework 2.0 which you probably already have

I would totally try this if I wouldn't have to get out my old laptop...
You don't have the .NET Framework installed on your desktop computer?
There are other operating systems than Windows . Maybe it'll work with Mono, but i'm currently too lazy to install it.
mm.. I suppose thats the price I pay for using .NET

6. Originally Posted by dougbenham
Originally Posted by tim
There are other operating systems than Windows . Maybe it'll work with Mono, but i'm currently too lazy to install it.
mm.. I suppose thats the price I pay for using .NET
True. Not working with WINE on linux too. Will try when I am on a Windoze machine.

7. This sounds like a nice program to have, especially when doing example solves and such. Unfortunately, I don't have .net installed, but something to suggest when expanding this would be to maybe include more methods. I think Petrus would be nice, if it's possible. I don't know about programming at all, but since it's block building for a lot of the solve, that might simplify things. I'm trying to switch to ZZ, so a system that could give my optimal solutions that I could study and improve on would be nice.

I know it's probably not easy to program all this, but just throwing this out there.

8. Originally Posted by Lord Voldemort
This sounds like a nice program to have, especially when doing example solves and such. Unfortunately, I don't have .net installed, but something to suggest when expanding this would be to maybe include more methods. I think Petrus would be nice, if it's possible. I don't know about programming at all, but since it's block building for a lot of the solve, that might simplify things. I'm trying to switch to ZZ, so a system that could give my optimal solutions that I could study and improve on would be nice.

I know it's probably not easy to program all this, but just throwing this out there.
Those are great ideas. Originally I intended to include petrus as a method in the solver. However, if you think about it, the petrus method is a lot of reasoning and thinking. Not much of the method is concrete algorithms, etc. It would be difficult to program this method because it would be hard to let the computer "reason" different ways to combine pieces and form blocks, which is fundamental for the method.

Coincidentally I just started learning ZZ. It seems very promising. However, the EOLine is going to be very difficult to master.. But it seems easy enough to program so perhaps when I have finished mastering it I will attempt to write an extension to the solver for this method.

9. I don't know if this will help, but I have a link to an optimal EOline solver if that would help. Maybe you could try to contact the programmer for the source code? Oh, I got the program installed. It would be nice to see a menu of commands, not like buttons or anything, but like a text file that we could see on the main screen. It's kind of cumbersome to have to try to memorize all those commands.

Overall, though, this seems like a really good program.
Seeing how those F2L pairs and crosses come together will most certainly help a lot of people.

10. Sick, I love it

P.S. - Please, add a timer!!! If not, I can use my stackmat

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•