RubiksJTimer (updates on JNetCube)

I figure I might as well post in here too :)

Doug here is an implementation of the NxMxL scrambler algorithm I was talking about... http://www.thewonderidiot.net/timer/scramble.html

See comments in src code; it should help explain how to resolve multislice problem; as in why inner slices shouldn't even be considered moves in a scramble.

Also, this would be harder in Java than Javascript as in Javascript everything is just a 'var', but would it be possible to implement time recording such as here: http://www.thewonderidiot.net/timer/? As in, you can type in or alter your own times, and if you hit the 'times log / stats' button, add/delete times from the times log as you see fit?

Just a couple of suggestions. This does look pretty amazing... and quite customizable too, which is good :) Nice work.
 
im not sure if this is possible to change for it, but it seems as though the button to pull down the file menu is very close to the spacebar and sometimes it pulls it down and screws up my time so i have to manually stop it with the mouse. any way to move the command for the timer that drops down the file menu?
 
im not sure if this is possible to change for it, but it seems as though the button to pull down the file menu is very close to the spacebar and sometimes it pulls it down and screws up my time so i have to manually stop it with the mouse. any way to move the command for the timer that drops down the file menu?

You are talking about the Alt-button issue right? Well a few people have complained about this, but it's a pretty general issue that occurs with many timer programs, and I'm not sure how I'd fix it... I think it's possible for me to find a fix. But I can only have it low on the list of priorities, if I get to it, it won't be anytime soon.

Or if you want to help, you can research a solution for me...


-Doug
 
You are talking about the Alt-button issue right? Well a few people have complained about this, but it's a pretty general issue that occurs with many timer programs, and I'm not sure how I'd fix it...

I had this problem with the timer I made too. I added a feature that allowed users to enter any key they wanted to have stop the timer... alt included.

This works well in javascript (well, depending on the browser, but most work great), at least... you can still have the alt key stop the timer on an onKeyDown event, even though it may also jump the focus up to the menu.

If you need something more specific, look at the code; sorry if its a bit hard to read... its still a work in progress. You should be able to get the gist of it, though.
 
Who have tried the server function with other people? What do you think? I use it quite often vs. Kristoffer, and I like it a lot better than other competition features (like the competitions on cubemania or the SC). I'd love it if more people could join the same server. Are you still working on the timer? When can I expect new updates? :)
 
Who have tried the server function with other people? What do you think? I use it quite often vs. Kristoffer, and I like it a lot better than other competition features (like the competitions on cubemania or the SC). I'd love it if more people could join the same server. Are you still working on the timer? When can I expect new updates? :)

I got kinda tired of working on it, and hit a couple really solid milestones for it so I'm fairly content about it. On the other hand it's finally at a point where the code is so clean, streamlined, and compacted that it's easy to add a ton of really nice substantial features to it - which is actually something quite fun to do for a skilled programmer.

The idea was that I take a break and see if other people are willing to take it up and it seem like I've gotten very little back to keep me motivated. I thought that the very least Hunt might want to work on it again.

It doesn't look like I added much - perhaps re-skinning it to look better, fixing a bunch of minor bugs, and adding Pyraminx and Megaminx functionality - but I added a lot of "inactive code", functions that can be used in the future to making adding more stuff easier.

I guess if someone is willing to donate money to me, I can put in more time. Although under it's license I don't know if that's okay either.


-Doug

ps. the newest snapshot I took was r124 found here:
http://code.google.com/p/rubiks-jtimer/downloads/list
 
Doug, I just wanted to say I tried the new version today for the first time, and it was WONDERFUL! I've always been frustrated with the handling of BLD, since it didn't track DNFs properly. Now it all works correctly and great, and basically functions the way I always wanted it to. I can keep track of my percentage, and if I get going on an actual valid 12-solve average, it will calculate it correctly. And having the display right on the main page of the scramble is nice too.

You may not have added much, but you definitely added all the things I needed most. Thank you - this is much appreciated.
 
JNet can have easy scrambles and difficult scrambles. They are all randomly generated. You should use all of them (especially the difficult ones) to get an accurate idea of your skill level.
 
Doug, I just wanted to say I tried the new version today for the first time, and it was WONDERFUL! I've always been frustrated with the handling of BLD, since it didn't track DNFs properly. Now it all works correctly and great, and basically functions the way I always wanted it to. I can keep track of my percentage, and if I get going on an actual valid 12-solve average, it will calculate it correctly. And having the display right on the main page of the scramble is nice too.

You may not have added much, but you definitely added all the things I needed most. Thank you - this is much appreciated.

Initially I just wanted to perfect my Java coding skills and take it to the next level - which I have accomplished. For JNC, I was basically trying to get it to the point where a ton of new and interesting features *could* be added with minimal effort. No offense, but before it was pretty gross, sloppy, and unprofessionally coded. That is to say, that it would be obvious to any coder that the old JNC wasn't coded with the mindset of future expansion as well as additional coders chipping in (coders with slightly different goals and tastes). I believe what I accomplished entirely rectifies these problems. RJT is a viable program to add features to one's heart's content (well a programmer that is).

If only I had the time, energy, enthusiasm or at least support/encouragement to continue to the next step... Well if nothing else happens and I find good balance in my life, then expect major changes in say... 6 months from now.

1. Average of N for 2<N<=13 is a big one that everybody wants.
2. Key-Down stopping is a silly problem that I was close to closing, but kept getting bogged down with actual bugs.
3. Multi-slice scrambles for 4x4 and 5x5. Very tricky and I never got answers to my questions on it.


-Doug
 
JNet can have easy scrambles and difficult scrambles. They are all randomly generated. You should use all of them (especially the difficult ones) to get an accurate idea of your skill level.

I was never able to fully verify that Hunt's cube scrambles where WCA-legal. I left that part of the code as it was in old JNC. I really wish I had a good grasp of scramble picking procedures, counting block breaks, and what biases or statistical distributions to use.

RJT's Pyraminx and Megaminx scrambles are PERFECT. The Cube ones are probably perfect too, I just never could make sense of that code. For me, it would have been easier to swallow if there was a general function for all sizes. Having a specialized one for each of the 4 sizes somehow made it less convincing for me.


-Doug
 
2. Key-Down stopping is a silly problem that I was close to closing, but kept getting bogged down with actual bugs.
3. Multi-slice scrambles for 4x4 and 5x5. Very tricky and I never got answers to my questions on it.

I must admit that those 2 things would probably be at the top of my list for additional changes. And I wish I could help you with #3, but I don't know the rules for it either.
 
Doug, if you want, I can probably do #'s 2 and 3. I'll take a look later today and PM you, perhaps ;)

Again, WCA regs for scrambles really are not specific. There really is no such thing as "WCA-legal", as there is no explicitly provided definition for scrambling. And again, even Jaap's current NxN cube scramble code I wouldn't consider ideal... although, nor would I consider inner slice moves legal scrambling moves. There are several definitions you could go by, as I said on the WCA forum. If you would like though, I can ensure it is on par with Jaap's code.
 
It would be really nice if there was a way to record splits in rubiksjtimer, for when doing 2x2x2, 3x3x3, 4x4x4, 5x5x5 etc. at once. Perhaps a 'marathon' puzzle mode where spacebar sets a split and another key stops the timer, or you pre-determine the number of splits, and the keypress after the last split stops the timer. It would save buying a webcam and going through the footage...
 
It would be really nice if there was a way to record splits in rubiksjtimer, for when doing 2x2x2, 3x3x3, 4x4x4, 5x5x5 etc. at once. Perhaps a 'marathon' puzzle mode where spacebar sets a split and another key stops the timer, or you pre-determine the number of splits, and the keypress after the last split stops the timer. It would save buying a webcam and going through the footage...

CCT can do that...
 
I've been writing a java cube timer for MIDP (phones :-) and can't work out/bother to work out a decent average calculation algorithm. It's not trivial as you have to cope with DNF, +2, 3 from 5, etc. If someone learned fancied linking me some source I can 'borrow' then it would make someone PMing me feature requests happy.
 
I've been writing a java cube timer for MIDP (phones :-) and can't work out/bother to work out a decent average calculation algorithm. It's not trivial as you have to cope with DNF, +2, 3 from 5, etc. If someone learned fancied linking me some source I can 'borrow' then it would make someone PMing me feature requests happy.

Actually it is trivial. Especially with Java. There are several helpful methods (e.g. min(), max()). If you do have a cubemania account, you can just copy and past some of the javascript timer code.
Anyway, you really should try to figure it out yourself. And i wonder how you were able to write the timer in the first place.
 
Back
Top