I am writing a program that will keep track of the data I generate from speed-solving Rubik's cubes, and the first component is to generate a scramble. As is stands, my program currently creates a 30-move long sequence that uniformly chooses sides and directions to turn (in a manner that does not include repeat/dummy moves like R' R2
or U2 D' U
).
According to the World Cubing Association Regulations page (specifically rule 4b3), the cube must be in a random state that is 2 moves or more away from the solved state. I am relying on the sheer unlikelihood of a 30-move scramble producing any states that are 1 move away from being solved. However, no other rules are given, nor are any details about the "official WCA scrambling program" that I am trying to replicate.
Is there a site that I have not found that describes if there are any more rules in scrambling a cube? I suspect that I am missing at least some rules, as many scrambles that I get from qqTimer scramble colors on a set of two opposite faces and a set containing the other four faces without overlap (for example, two faces contain ONLY white/yellow pieces, and the other four contain ONLY red/blue/green/orange pieces).