home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HyperLib 1997 Winter - Disc 1
/
HYPERLIB-1997-Winter-CD1.ISO.7z
/
HYPERLIB-1997-Winter-CD1.ISO
/
オンラインウェア
/
GAME
/
Rhine.sit
/
Rhine
/
randomTest
next >
Wrap
Text File
|
1993-06-27
|
1KB
|
44 lines
¥ Pick a random number from 0 to n
: SEED ( -- daddr ) ,$ 2d15 126 0 dnegate d+ ;
: RANDOMIZE 524 0 dl@ seed dl! ;
: RANDOM ( n -- n' )
0 >r ,$ A861 r> ( _Random )
swap 32768 */ abs ; ( scale to size from stack )
: 0TO4 ( -- n ) 5 random ;
variable BINS 8 allot
: ZEROS bins ;
: ONES bins 2+ ;
: TWOS ones 2+ ;
: THREES twos 2+ ;
: FOURS threes 2+ ;
: SPACES ( n -- )
?dup IF 0 DO space LOOP THEN ; ¥ emit n spaces
: D.R ( d width -- )
>r swap over dabs <# #s sign #>
r> over - spaces type space ;
: .R ( n width -- ) >r s>d r> d.r ;
: U.R ( u width -- ) 0 swap d.r ;
: .BINS ( -- ) cr
zeros @ 4 .r
ones @ 4 .r
twos @ 4 .r
threes @ 4 .r
fours @ 4 .r ;
: test ( trials -- )
bins 10 0 fill
0 DO
0to4
dup 0= IF 1 zeros +! THEN
dup 1 = IF 1 ones +! THEN
dup 2 = IF 1 twos +! THEN
dup 3 = IF 1 threes +! THEN
dup 4 = IF 1 fours +! THEN
drop
LOOP .bins ;
: run begin 5000 test ?terminal until ;