Actually your idea of storing a bunch of random numbers and picking the next one in the sequence is entirely reasonable and is superior to using a Random() function provided by software. If you located a good source of random numbers, e.g. created by a math or science department, and imported that as your sequence of 1 million numbers, then you'd be in good shape.

All random number generators in software use a mathematical formula to figure out the next random number. They are all "pseudorandom" in that they will all repeat after a while and don't have the expected random distribution. They improve upon this a bit by using a random "seed" to the calculation. In other words they start at a different place in the sequence. When available a seed is selected from some randomish hardware location such as the number of milliseconds on the system clock.

http://en.wikipedia.org/wiki/PseudorandomnessA description of a common pseudorandom number generator is here.

http://www.math.utah.edu/~pa/Random/Random.htmlImplementing the math on that page to write your own pseudorandom generator requires the Mod() function which is not supported in FMTouch according to the July 26, 2009 documentation.

I recommend creating that table of random numbers.

Here is a page that will help you automatically generate a large quantity of random numbers from 1 to 6 using atmospheric noise.

http://www.random.org/integers/