RANDOMIZE statement

Purpose | Seed the random number generator.
Syntax | RANDOMIZE [number]

Remarks

number is a seed value that may be any numeric type. If number is not specified, the value returned by the TIMER function is used.

Values returned by the random number generator ( RND) depend on an initial seed value. For a given seed value, RND always returns the same sequence of values, yielding a predictable pseudo-random number sequence. Thus, any program that depends on RND will run exactly the same way each time unless a different seed is given.

The default seed can be duplicated with the following statement:

RANDOMIZE CVS(CHR$(255,255,255,255))

Note that each thread has its own, independent random number seed.

See also | RND, TIMER

Example

' Seed generator and get 5 random values

RANDOMIZE 1.5!

FOR I& = 1 TO 5

Table(I&) = RND(1,100)

NEXT I&

' Reseeding with the same starting value

' means you get the same sequence of values!

RANDOMIZE 1.5!

FOR I& = 1 TO 5

Table(I&) = RND(1,100)

NEXT I&

' Now reseed from the TIMER and we get

' a completely different set of values:

RANDOMIZE TIMER

FOR I& = 1 TO 5

Table(I&) = RND(1,100)

NEXT I&