RANDOM - BASIC Stamp Command Reference
Page 254 • BASIC Stamp Programming Manual 2.0b • www.parallaxinc.com
Demo Program (RANDOM.bs2)
' Connect a button to I/O pin 7 as shown in the figure in the RANDOM command description
' (in the manual) 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 BS2} 'STAMP directive (specifies a BS2)
Flip VAR WORD ' The random number.
Coin VAR Flip.BIT0 ' A single bit of the random number.
Trials VAR BYTE ' Number of flips.
Heads VAR BYTE ' Number of throws that came up heads.
Tails VAR BYTE ' Number of throws that came up tails.
Btn VAR BYTE ' Workspace for Button instruction.
Start:
DEBUG CLS, "Press button to start"
FOR Trials = 1 TO 100 ' 100 tosses of the coin.
Hold:
RANDOM Flip ' While waiting for button, randomize.
BUTTON 7, 0, 250, 100, Btn, 0, Hold ' Wait for button.
branch coin,[head,tail] ' If 0 then head; if 1 then tail.
Head:
DEBUG CR, "HEADS" ' Show heads.
Heads = Heads + 1 ' Increment heads counter.
GOTO TheNext ' Next flip.
Tail:
DEBUG CR, "TAILS" ' Show tails.
Tails = Tails + 1 ' Increment tails counter.
TheNext: ' Next flip.
NEXT
' When done, show the total number of heads and tails.
DEBUG CR, CR, "Heads: ", DEC Heads, " Tails: ", DEC Tails
2
2
2
NOTE: This is written for the BS2
but can be used for the BS2e,
BS2sx and BS2p also. Locate the
proper source code file or modify
the STAMP directive before
downloading to the BS2e, BS2sx or
BS2p.