This enhancement is the result of a discussion following on from Edward Faith's post "Shuffle Algorithm?" of 24 September. The upshot is that the methodology used to shuffle the cards is now based on .NET's cryptographically superior RandomNumberGenerator class, rather than the rather more predictable Random class of the System namespace. I will post more details on that thread.
The second part of this is that, in order to allow the user to start from scratch with a new deck based entirely on random number capture, the program can be made to store random numbers arising from the user's mouse movements. This needs to be activated before the program will do it. You can do this on the Utilities tab of the General section of the options form.
Once random mouse capture has been activated you will see how the program stores numbers in a battery of five arrays (or an array of five batteries if you prefer). You have to move the mouse around to charge these up, but they are always being stored when this function is activated, and they are not lost between program sessions, so in the normal run of things there should always be a sufficient charge for a new deck. If not the program shows the progress of the random number capture as a way to indicate the delay.
If you activate this function you will notice that the new deck builds up very quickly to begin with, but then slows towards the end. This is because any numbers that have already been used in one deck can't be added again (because you can't have duplicate cards in the deck). To make the capture more efficient a number that is not needed in one array will be passed to any of the other arrays that are incomplete, before being definitively discarded.
Once activated you can start with a new deck by pressing "Control+Alt+R", so there is no need to go into the Options form each time.
8.4 Beta - Enhanced Shuffle & Random Number Generator
Moderators: Programmer, WebWeaver, WillowsHeart
- Programmer
- Major Contributor
- Posts: 1725
- Joined: Sat 01 Jan, 2005 12:00 am
- Location: Spain
- Contact:
-
- Major Contributor
- Posts: 419
- Joined: Sat 01 Jan, 2005 12:00 am
- Location: Chicagoland, IL
- Contact:
Re: 8.4 Beta - Enhanced Shuffle & Random Number Generator
I'm a tad bit confused. Do we need to turn this on to use the new generator? Or just to get the process started? What if we don't turn it on?
If we do turn this on, do we need to process each deck one at a time?
I received an error when I turned mine on, so I'll send you that info. But I'm still not sure what I need to do, and why I should or wouldn't do it.
Shari
If we do turn this on, do we need to process each deck one at a time?
I received an error when I turned mine on, so I'll send you that info. But I'm still not sure what I need to do, and why I should or wouldn't do it.

Shari
- Programmer
- Major Contributor
- Posts: 1725
- Joined: Sat 01 Jan, 2005 12:00 am
- Location: Spain
- Contact:
Re: 8.4 Beta - Enhanced Shuffle & Random Number Generator
Willowsheart just emailed me about that bug last night, and I will fix it in the next version of the beta. Probably best to wait and until it is working and then you will get a clearer idea (or read Edward's thread about random numbers). Basically though you would only need to turn it on once, then you can always get a new random deck by pressing Control+Shift+R.
- Programmer
- Major Contributor
- Posts: 1725
- Joined: Sat 01 Jan, 2005 12:00 am
- Location: Spain
- Contact:
Re: 8.4 Beta - Enhanced Shuffle & Random Number Generator
Just posted the latest beta which fixes the bug with the RNG 

-
- Registered User
- Posts: 16
- Joined: Sat 22 Sep, 2007 5:49 am
Re: 8.4 Beta - Enhanced Shuffle & Random Number Generator
Thanks for this! There aren't a lot of software developers who are this responsive to their customers.
Re: 8.4 Beta - Enhanced Shuffle & Random Number Generator
Sorry for being dumb about this, but what exactly does this do? I can see how the arrays load up, but I really don't understand about what it's doing, or why it asks for the "load next pack" (do you have to do this for each deck?) Does this have something to do with the shuffle?
Thanks!
Thanks!
- Programmer
- Major Contributor
- Posts: 1725
- Joined: Sat 01 Jan, 2005 12:00 am
- Location: Spain
- Contact:
Re: 8.4 Beta - Enhanced Shuffle & Random Number Generator
Hi Jenny,
I can understand your not being sure what the RNG tool is meant to do. It is a new feature which is not explained in the help file and the need for such a tool is not immediately obvious, to say the least. The fact that the program existed quite happily without it for several years attests to this.
Briefly, what it does is to create a new deck where the positions of the cards are based on data collected from the minute variations in the users mouse movements - in other words random data. This is not a shuffled deck. The positions of the cards only derive from the random data that the program collects in the background while the user moves cards around the screen or whatever.
The need for such a tool arises because the normal shuffle procedure, being generated by a computer, is not truly random. Computers can only do fake random, or "pseudo random" as it is called in programming.
It was only a couple of months ago that one user pointed this out and the tool has been created for him and other purists who aren't satisfied with having a computer alone decide how their decks get shuffled. If you are interested the best thing would be to read through the whole thread (Edward Faith - Shuffle Algorithm?) and you will get the idea. It took Edward quite a while to convince me that this was necessary, but he succeeded in the end.
As far as it actually works, just press Control-Shift-R whenever you want a new random deck. It will only work if you activate random number generation on the Options form. By default it is not switched on, so no random data is being collected. This is so as to not squander resources for people who don't use this feature, which is probably most people. Having programmed it, I confess that I never use it myself. I am pretty happy with fake random
Cheers,
Richard
I can understand your not being sure what the RNG tool is meant to do. It is a new feature which is not explained in the help file and the need for such a tool is not immediately obvious, to say the least. The fact that the program existed quite happily without it for several years attests to this.
Briefly, what it does is to create a new deck where the positions of the cards are based on data collected from the minute variations in the users mouse movements - in other words random data. This is not a shuffled deck. The positions of the cards only derive from the random data that the program collects in the background while the user moves cards around the screen or whatever.
The need for such a tool arises because the normal shuffle procedure, being generated by a computer, is not truly random. Computers can only do fake random, or "pseudo random" as it is called in programming.
It was only a couple of months ago that one user pointed this out and the tool has been created for him and other purists who aren't satisfied with having a computer alone decide how their decks get shuffled. If you are interested the best thing would be to read through the whole thread (Edward Faith - Shuffle Algorithm?) and you will get the idea. It took Edward quite a while to convince me that this was necessary, but he succeeded in the end.
As far as it actually works, just press Control-Shift-R whenever you want a new random deck. It will only work if you activate random number generation on the Options form. By default it is not switched on, so no random data is being collected. This is so as to not squander resources for people who don't use this feature, which is probably most people. Having programmed it, I confess that I never use it myself. I am pretty happy with fake random

Cheers,
Richard