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!

If you have any problems with the registration process or your account login, please contact us and we'll help you get started. We look forward to seeing you on the forums!

Already a member? Login to stop seeing this message.
  1. googlebleh

    googlebleh Member

    443
    0
    Nov 22, 2011
    Southern CA
    WCA:
    2012WEEC01
    YouTube:
    googlebleh
    Same here. Hope there's a fix out there.
     
  2. qq280833822

    qq280833822 Member

    127
    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.
     
  3. XVicarious

    XVicarious Member

    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...
     
  4. Yuxuibbs

    Yuxuibbs Member

    1,254
    0
    Feb 13, 2011
    Ann Arbor, MI
    WCA:
    2011CHEN54
    YouTube:
    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).
     
  5. MaeLSTRoM

    MaeLSTRoM Member

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

    XVicarious Member

    8
    0
    Jan 22, 2012
    Last edited: Jan 30, 2013
  7. tim

    tim Member

    1,691
    0
    Nov 22, 2006
    Karlsruhe, Germany
    WCA:
    2007HABE01
    YouTube:
    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.)
     
  8. XVicarious

    XVicarious Member

    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.
     
  9. tim

    tim Member

    1,691
    0
    Nov 22, 2006
    Karlsruhe, Germany
    WCA:
    2007HABE01
    YouTube:
    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. o_O
     
    Last edited: Jan 26, 2013
  10. Kattenvriendin

    Kattenvriendin Member

    1,749
    0
    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
     
  11. SlechtValk

    SlechtValk Member

    15
    0
    Oct 27, 2010
    The Netherlands
    WCA:
    2011BOGA02
  12. tim

    tim Member

    1,691
    0
    Nov 22, 2006
    Karlsruhe, Germany
    WCA:
    2007HABE01
    YouTube:
    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...)
     
  13. XVicarious

    XVicarious Member

    8
    0
    Jan 22, 2012
  14. TheOnlyNameless

    TheOnlyNameless Member

    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
     
  15. kunparekh18

    kunparekh18 Member

    1,416
    0
    Dec 24, 2012
    Chennai
    WCA:
    2013PARE01
    YouTube:
    KunParekh18
    Is there a way to import scrambles/only times into the main history?
     
  16. kevinccce

    kevinccce Member

    4
    0
    Jan 29, 2013
    Philippines
    Thanks for this timer. :D
     
  17. cube

    cube Member

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

    -cube
     
  18. Petro Leum

    Petro Leum Member

    759
    11
    May 3, 2012
    Germany
    WCA:
    2012KALH01
    is this still getting updated? i woudl lvoe to see stackmat timer gen3 support in the future :)
     
  19. Kattenvriendin

    Kattenvriendin Member

    1,749
    0
    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.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)
     
  20. CarlBrannen

    CarlBrannen Member

    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 "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.
     

Share This Page