# Prisma Puzzle Timer

Discussion in 'Software Area' started by Walter Souza, Nov 27, 2010.

Welcome to the Speedsolving.com. You are currently viewing our boards as a guest which gives you limited access to join discussions and access our other features. By joining our free community of over 30,000 people, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

1. ### qq280833822Member

129
5
May 28, 2008
China
WCA:
2008CHEN27
The output signal generated by QJ Timer is quite similar to stackmat timer. The only difference is that in the first byte, the stackmat timer sends its working state( For example, ' ' means running, 'I' means idle, 'L' means left hand pressed, 'S' means stop, etc.) while the QJ Timer always sends 'S', which means stop.

2. ### XVicariousMember

8
0
Jan 22, 2012
That is interesting. So does CCT utilize those signals in different ways compared to Prisma? Hum I'll have to look at it myself, altough I'm not great with that kind of thing. I forked it and add scramblers for the 8x8x8 and 9x9x9, but when I attempt to render the scramble, I get thrown an exception... Hum... Working on that...

3. ### YuxuibbsMember

Feb 13, 2011
Ann Arbor, MI
WCA:
2011CHEN54
Rainpaw4
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).

4. ### MaeLSTRoMMember

Jan 7, 2011
UK
WCA:
2011WALL02
MLSTRMRVLTN
Restart the timer, but after you launch it, don't change the window focus (don't click stuff basically). This should fix it.

5. ### XVicariousMember

8
0
Jan 22, 2012
Last edited: Jan 30, 2013
6. ### timMember

Nov 22, 2006
Karlsruhe, Germany
WCA:
2007HABE01
cin9247
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.)

7. ### XVicariousMember

8
0
Jan 22, 2012
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.

8. ### timMember

Nov 22, 2006
Karlsruhe, Germany
WCA:
2007HABE01
cin9247
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.

Last edited: Jan 26, 2013
9. ### KattenvriendinMember

Jun 23, 2012
The Netherlands
Where do I download the version with 8x8 and 9x9 now without the class error? I am a bit oblivious on that site there hehe

10. ### SlechtValkMember

15
0
Oct 27, 2010
The Netherlands
WCA:
2011BOGA02
11. ### timMember

Nov 22, 2006
Karlsruhe, Germany
WCA:
2007HABE01
cin9247
Embarrassing, thanks for catching it. Fixed it.

(I also mixed tabs and whitespaces (didn't change Eclipse's default). I wouldn't hire me...)

8
0
Jan 22, 2012
13. ### TheOnlyNamelessMember

10
0
Jan 31, 2013
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

14. ### kunparekh18Member

Dec 24, 2012
Chennai
WCA:
2013PARE01
KunParekh18
Is there a way to import scrambles/only times into the main history?

15. ### kevinccceMember

4
0
Jan 29, 2013
Philippines
Thanks for this timer.

16. ### cubeMember

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

-cube

17. ### Petro LeumMember

770
15
May 3, 2012
Germany
WCA:
2012KALH01
is this still getting updated? i woudl lvoe to see stackmat timer gen3 support in the future

18. ### KattenvriendinMember

Jun 23, 2012
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.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.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)

19. ### CarlBrannenMember

368
0
May 6, 2012
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 "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.

300
0
Oct 21, 2010
WCA:
2011GRAJ01