BASIC stamp manual v2.2

5: BASIC Stamp Command Reference – RANDOM
BASIC Stamp Syntax and Reference Manual 2.2 www.parallax.com Page 359
RANDOM
BS1 BS2 BS2e BS2sx BS2p BS2pe BS2px
RANDOM Variable
Function
Generate a pseudo-random number.
Variable is a variable (usually a word) whose bits will be scrambled
to produce a random number. Variable acts as RANDOM's input
and its result output. Each pass through RANDOM stores the next
number, in the pseudorandom sequence, in Variable.
Explanation
RANDOM generates pseudo-random numbers ranging from 0 to 65535.
They’re called “pseudo-random” because they appear random, but are
generated by a logic operation that uses the initial value in Variable to "tap"
into a sequence of 65535 essentially random numbers. If the same initial
value, called the "seed", is always used, then the same sequence of
numbers is generated. The following example demonstrates this:
SYMBOL result = W1
Main:
result = 11000
RANDOM result
DEBUG result
GOTO Main
-- or --
result VAR Word
Main:
result = 11000
RANDOM result
DEBUG DEC ? result
GOTO Main
In this example, the same number would appear on the screen over and
over again. This is because the same seed value was used each time;
specifically, the first line of the loop sets result to 11,000. The RANDOM
command really needs a different seed value each time. Moving the
"result =" line out of the loop will solve this problem, as in:
1
A
ll
2
1
All
2