• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 40,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

Prisma Puzzle Timer

MaeLSTRoM

Member
Joined
Jan 7, 2011
Messages
1,862
Location
UK
WCA
2011WALL02
YouTube
Visit Channel
How do you make the timer start/stop? I set it to space bar and control keys and they both don't start the timer (the timer worked before, it doesn't work now).

Restart the timer, but after you launch it, don't change the window focus (don't click stuff basically). This should fix it.
 

tim

Member
Joined
Nov 22, 2006
Messages
1,692
Location
Karlsruhe, Germany
WCA
2007HABE01
YouTube
Visit Channel
If anyone is interested, I added scramblers for the 8x8x8 and 9x9x9 in my fork. When and if walter wants to include my additions, he can ask me and I think you can merge on bitbucket.
The download is here: https://bitbucket.org/xvicarious/puzzle-timer/downloads/PrismaPuzzleTimer0.7-unoffical.jar
And if you don't trust me then compile the source code from here: https://bitbucket.org/xvicarious/puzzle-timer

That's the spirit of Open Source. :)

As far as I can tell, the scramblers for 4x4 up to 9x9 are basically all the same except for the puzzle dimension and the available moves. You (this includes walter) could save a few 100 lines of code by adding a common CubeRandomScrambler class. (Yes, complaining about other people's code without actually fixing it, is not the spirit of oss.)
 

XVicarious

Member
Joined
Jan 22, 2012
Messages
8
True tim. Maybe now I'll have to work my way into combinding them. The real tricky part of the whole thing though was the 3d models of the puzzles. Well I guess tricky until I found out I made one very minor mistake that screwed up the whole thing.

edit: Looking at it again, might be easier said than done because of some of the information that is included in the <Puzzle>RandomScrambler class.
 

tim

Member
Joined
Nov 22, 2006
Messages
1,692
Location
Karlsruhe, Germany
WCA
2007HABE01
YouTube
Visit Channel
True tim. Maybe now I'll have to work my way into combinding them. The real tricky part of the whole thing though was the 3d models of the puzzles. Well I guess tricky until I found out I made one very minor mistake that screwed up the whole thing.

edit: Looking at it again, might be easier said than done because of some of the information that is included in the <Puzzle>RandomScrambler class.

It was very easy and straightforward (and saved 301 lines). I submitted a pull request: https://bitbucket.org/xvicarious/pu...1/extract-duplicated-scrambler-code-into/diff (your classpath was broken, btw)

I probably forgot to add @Override annotations. Feel free to add them.

Oh boy, using Eclipse + Java feels like I'm coding in the 90s again. o_O
 
Last edited:

tim

Member
Joined
Nov 22, 2006
Messages
1,692
Location
Karlsruhe, Germany
WCA
2007HABE01
YouTube
Visit Channel
Just gave your code a quick look, but I think you made a (copy-paste) mistake in the getDimension() of the 4x4, 6x6 and 7x7 scramblers. They are all returning 9 and not 4, 6 or 7 as I would expect...
--
Hans

Embarrassing, thanks for catching it. Fixed it.

(I also mixed tabs and whitespaces (didn't change Eclipse's default). I wouldn't hire me...)
 
Joined
Jan 31, 2013
Messages
10
Location
U.A.E, from Germany
I really like it, although i would prefer ther to be an option to also show the averages of your entirte lifetime on the main window than only the current session. If there is such and option please let me know
 

cube

Member
Joined
Oct 10, 2010
Messages
47
This is awesome. My new main timer. I love the graph!!

-cube
 
Joined
Jun 23, 2012
Messages
1,683
Location
The Netherlands
Hmm maybe it is me.. but the latest version doesn't wish to work here. I get this back:

java -jar PrismaPuzzleTimer0.72-unoffical.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/puzzletimer/Main : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
 

CarlBrannen

Member
Joined
May 6, 2012
Messages
367
Location
Pullman, WA
WCA
2013BRAN01
My version of Prisma Puzzle Timer has drifted quite a ways from where you guys are at now. It will take some effort to bring me back up to date.

And if you're interested in any changes I've made, here's the latest version. Most of my recent efforts have been in improving the Fridrich PLL practice:
http://brannenworks.com/Gravity/CarlPLL.jar

Changes that I can recall:
Added "worst" messages.
Added "oops" button: I don't use "inspection" on PLL practice so I don't know if I've screwed up a scramble until after I've hit the spacebar. Oops stops the timer and returns to the "ready" state. It also works with inspection.
Added averages for 72, 100, and 1152.
Added code so that PLL scrambles include random cube orientation. This way I'm not always starting with green pointed towards me.
Changed PLL scramble so that it is non random. There are 72x4x4 = 1152 possible PLL situations, counting cube orientation, so it goes through all 1152 before repeating any situation. The next 1152 come in a different order so you don't get used to seeing one situation following another.
Added code to keep track of your PLL times by PLL, i.e. Aa, Ab, H, U, Ga, etc.
Added code to show your best mean and worst times by PLL (from the most recent 1152 PLL solves).
Added code to show your 4 most recent times with exactly that situation.
Added code for averages over 12 so that they are kept to higher accuracy (i.e. 0.00000 instead of 0.00).
The PLL code shows up as a separate window like "history". You put it off center on the screen and can look down to see how good your last few solves were, compared to your previous solves and compared to the average over all orientations (and U rotations) for that PLL type.
Once you've done more than 1152 PLL scrambles you have a full set of all possible orientations. So from then on it computes your average PLL as taken over the most recent times over all the 1152 situations. This vastly reduces the variance; i.e. you can't get a low PLL time by getting a bunch of easy scrambles like "U2".

There's a bunch of more things I'd like to do:

Right now the solver is really slow on "E" solves. Eventually this means that I know what the next scramble is going to be. And I used to start scrambling with the previous scramble which was really annoying. So I added some code to gray-out the scramble after you start timing. To fix this I'm going to have to learn something about the solver.

I'm probably going to add some code to compute how much a given PLL is adding to your average PLL time. For instance, I'm very slower on the Na than the T, but I know that I'll improve my times a lot more by memorizing a T algorithm as you get four T's for every Na. I'd like that code to include times for expert 2-look and 1-look times so it can show which situations have the most room for improvement. When I get the code professional enough, I'll add a thread and ask members of the community to use the program to compute and share their average times for the various PLL cases. (That is, their times including recognition, as opposed to just their finger speed times.) Then a user will know exactly where he stands compared to others.

I'd also like to add code to the solver so that it doesn't always give the same scramble for the given situation. This would help me to rely on the cube rather than getting accustomed to the scrambling sequences.

I'm unsatisfied with the scrolling. I probably broke something and need to learn how to fix it.

The 3x3x3 scrambler always leaves the cube in the usual white/green orientation. It's easy to add some code to randomize the cube orientation. There are 24 cases, so just spit one of the sequences out. I.e. {y,y2,y', x,x2,x', x y,...}. I should add this but right now I'm not practicing 3x3 much.

When I get to improving my OLL times I'll undoubtedly want to add some code for that.

I'd like to add some code to help compute splits. The way this will work is that you have to hit the space-bar multiple times per solve. For Fridrich, the first will be your cross time. The next your F2L time. Then OLL then PLL. This way you can get nice averages for your splits. A disadvantage for this is that there will still be a lot of variance due to differences in OLL and PLL cases, but surely we'll get better numbers than when we ask people to just guess their splits. I haven't given this a lot of thought yet.
 
Top