RubiksJTimer (updates on JNetCube)

check out the newest version, r122, with DNF button instead of POP (it turns red if you already DNFed once, to warn you about DNFing again meaning DNF average), the file chooser "remembers" the last directory you saved in (:D) and it warns you about file overwriting
 
It looks surperb. I think i'll wait a little longer since i've fallen in love with Jnet :P
 
http://code.google.com/p/rubiks-jtimer/downloads/list

I just wanted to mention a few things... POP is now DNF and multiple DNFs are allowed, but f the DNF will invalidate the RA then the button text will be in red until enough time has passed.

It now remembers your last used directory and that follows you for every dialogBox. It knows not to double-append ".txt" and warns if there will be file overwrite.

Times entered into the InsertTime box, can be in mm:ss.xxxxxx format and it rounds appropriately. It will not accept "POP" or "pop" but will accept "DNF, "Dnf", "dnf", etc... The minutes thing is new.

To address the question of "recent time" and "previous time" being there... when the time is >=10 minutes and it's in minutes format the time above is only displayed as "mm:ss" rounded, while the full time is displayed below.

The next minor thing I have left to do is to make the ESC button close the OptionsBox and various child-windows.


-Doug
 
OK I have been using the timer and I really liked until now.
I accidentally clicked over to my web browser and so when I hit the space bar obviously the timer did not start. I messed up adn hit the space bar too many times when trying to get a new scramble and now I have a time in my average I cant get rid of...
 
How about multi slice scrambling for 4x4.

It's a single function "scramble4x4_MS.generateScramble()" in a single file. that someone needs to write for me. It can already import and display algs with things like Rw'...

I have been unable to figure out the WCA policy on how to pick turns for it. It's actually quite complicated there are many scenarios to consider.

You *cannot* just substitute every l for Lw and r for Rw!

And while you're at it how about a Square-1 scrambler right?


-Doug
 
I started with a list of over 120 items to do, now I have about 18 things left. A few of them are pretty major.

I'm now attempting to track remaining changes here:
http://code.google.com/p/rubiks-jtimer/

I'd like to place the list here so I don't keep getting the same questions over and over. You can tell me if I'm missing anything!

=================================================
Splash screen redo, the 2 JPGs, needs to include my name, and be in either bright green or bright purple. Hunt was supposed to do this but he’s busy I guess. If I do it (using photoshop) it might take up to 4 hours for both.

+Average of N, for N>2 and N<=13. Much of the back-end is implemented, non of the UI for it is. Estimate 2 additional hours left.

+Generate Rw’. Multi-slice for 4x4 and 5x5. Not much coding but I have no idea what the picking-policy is that WCA uses. It can already do CubeImages that have Rw’ and MES, mes, and xyz. Estimate 6 additional hours left.

+JList feature, either a popup box for it or embedded in the main window. It will offer ability to delete and modify times. The stats-engine is strong enough that it shouldn’t take much coding but is pretty serious feature since the only thing I know about the UI so far is to use a JList. So a lot of interface design work there… Estimated time left: 16 hours.

+Stop on Key-Down. Much of the functionality is provided in TimerArea.java that I created. It will require removing the JButton that used to trigger the events, and remapping the code a bit. It’s practically ready, just a ton of testing left to do after the change. Estimate 3 hours left.

ToolTips, interesting feature to do… hints popup under the cursor when you mouse-over items. Might be helpful, but pretty low on priorities. No idea how much time this will take, but it’s not something I’ve even started investigating.

ScrambleAlg font customization, either or both – color and font face. Not terribly difficult but might be too over-the-top necessary.

+Server/Client stats-engine revamp. This is coupled with the “mm:ss.xx” problems there. Also the AcceptTime button there, “+2” among other things. This will lower the lines of code, I believe. It will make S/C mode much more robust and maintainable. A lot of testing will have to be done afterwards. Estimated time remaining: 10 hours.

Multiple Connects in S/C mode? Haven’t started. Not sure if there’s much interest. No idea what to do for the UI there. Not going to guess how long it will take.

Disconnect Button in Server/Client. This was something Hayes was hinting he would take are of for me when the time came… but I might have to do it and I’d estimate perhaps 30 minutes once I figure out where to place it.

Button to go back to Standalone from Server/Client. The mechanisms are already in place so once I figure out where to place the button, then 15 minutes to do. But this needs to rely on the stuff for Disconnect since we don’t want to switch back leaving the other side hanging… the other side will thin they are being ignored.

Anti-Listening Button. In pre-Server screen when it displays “LISTENING” we need a button to “stop trying”. Estimate 20 minutes to do once I find a place for the button.

Allow Save/Prompt for saving on Disconnection. Kind of a lacking feature… since you have no control over your internet connection or if the other guy suddenly drops and you wanted to see those times/scrambles again. This *should* (not absolutely necessary but should) wait till after we have a Disconnect Button and associated event handling code.

Perhaps Widen Standalone by 80px? This will make it the same width as S/C and so that the ScramblePane lines up identically… perhaps we can then consider having megaminxImage lined up.

TimerThread sleep() for S/C mode… not sure why this wasn’t in there cuz it differes from Stanalone’s way of doing it. Also the “run()” is different and doesn’t encompass the countdown and the “pre-countdown” (Ready…321!) parts.

Add more to S/C’s MenuBar. Such as Import scrambles into Server mode! This is easy after we revamp the stats engine there.

Detachable ScrambleView. Fun thing to do to show off the dynamic auto-scaling capabilities of the ScramblePane JPanel.

Generate *Square-1* ScrambleAlgs. This is horrible, I am having no idea the WCA policy for it. Moderate priority.

Generate *Square-1* Images. This is not too bad, I have most of it planed out and code that detects impossible/wrong scrambles. Low on priorities of course.
=================================================


-Doug
 
Generate *Square-1* ScrambleAlgs. This is horrible, I am having no idea the WCA policy for it. Moderate priority.

Maybe you can use this one: sq-1 scrambler in ruby. I don't know if it's wca legal, since i also couldn't find any policies for the scrambler. But i didn't care, because the original scrambler doesn't produce random states, too.

I just had a look at the code and found the 2x2-5x5 scrambler way too long ;). Here's a nice generic cube scrambler. It's no problem at all to change the notation, since the input of the method expects an array of turns. So [[R, L], [F, B], [D, U]] for a 3x3.

/edit: Spending some time in refactoring the code by adding packages is a good thing :)
 
Last edited:
The sunday contest stuff will be partially re-supported after I integrate "average of 13" ability...

anyway I just made an update that fixes the Focus-return issue after hitting DNF or +2 button, as well as having ESC key cancel certain dialog boxes.

http://code.google.com/p/rubiks-jtimer/downloads/list

I am sort of taking a break for a few days from this unless there are minor issues like this to patch. Pedro pointed out the focus-issue for me. I'd like to be refreshed and energized for coding one of the major features that still wait. There are still 5 "major features" left on my list...


-Doug
 
I always want to use the "generate scrambles" screen to save the last ten scrambles on my desktop as "scrambles.txt", but double-clicking the old "scrambles.txt" file doesn't overwrite it. it creates a new file.

Thanks for making it available on Google Code, i'll have to check out the source, I might want to customize it or something.
 
I always want to use the "generate scrambles" screen to save the last ten scrambles on my desktop as "scrambles.txt", but double-clicking the old "scrambles.txt" file doesn't overwrite it. it creates a new file.

I don't know what you are trying to say... Are you commenting on "how it was", or "how it is", or "how you want it to be" or what? Are you saying this is a bug? Are you saying that I fixed/changed something that shouldn't have been fixed/changed?

Before it had the issue of making some sort of "scrambles.txt.txt", and now that is rid of. I check the extension before appending.


-Doug
 
How does the server function work? I know its not new, but can anyone please explain how to use it? :) Thanks alot

The default port number helps people to not have to decide (I picked one from the private region of numbers to use so it's safe). One person "hosts" and sets up in Server mode, making it "Listen" for a connection. You give the other guy your IP and Port number to use (which now is not much of an issue with the default I choose). You have to figure out a way to get your IP address. Google how to do that (there are many ways). And then the Client types that in and connects to the Server.

But also, the default IP in Client Mode is pointing to yourself. So to test it out you can run two instances of RJT and hit F3 to go into Server for one, F4 to go into Client for the other and connect to each other to test out the functionality. (It's how I test it actually.)

There is a chat box that's pretty nifty... and everything syncs up using minimal data transmission on the socket protocol.


-Doug
 
Back
Top