BASIC stamp manual v2.2

5: BASIC Stamp Command Reference – RANDOM
BASIC Stamp Syntax and Reference Manual 2.2 www.parallax.com Page 361
Demo Program (RANDOM.bs1)
' RANDOM.bs1
' Connect a button to I/O pin 7 as shown in the figure in the RANDOM
' command description and run this program. This program uses RANDOM to
' simulate a coin toss. After 100 trials, it reports the total number of
' heads and tails thrown.
' {$STAMP BS1}
' {$PBASIC 1.0}
SYMBOL Btn = 7 ' button input
SYMBOL flip = W0 ' a random number
SYMBOL coin = BIT0 ' a bit from random number
SYMBOL trials = B2 ' number of flips
SYMBOL heads = B3 ' throws that come up heads
SYMBOL tails = B4 ' throws that come up tails
SYMBOL btnWrk = B5 ' workspace for BUTTON
Start:
DEBUG CLS, "Press the button to toss coin.", CR
Main:
FOR trials = 1 TO 100 ' flip coin 100 times
Hold:
RANDOM flip ' randomize while waiting
BUTTON Btn, 0, 250, 100, btnWrk, 0, Hold ' wait for button press
BRANCH coin, (Head, Tail) ' 0 = heads, 1 = tails
Head:
DEBUG CR, "Heads!"
heads = heads + 1 ' increment heads counter
GOTO Next_Toss
Tail:
DEBUG CR, "Tails..."
tails = tails + 1 ' increment heads counter
Next_Toss:
NEXT
DEBUG CR, CR, "Heads: ", #heads, CR, "Tails: ", #tails
END
Demo Program (RANDOM.bs2)
' RANDOM.BS2
' Connect a button to I/O pin 7 as shown in the figure in the RANDOM
' command description and run this program. This program uses RANDOM to
' simulate a coin toss. After 100 trials, it reports the total number of
All
2
1
NOTE: This example program can be
used with all BS2 models by changing
the $STAMP directive accordingly.