\ Simple random number generator \ from Leo Brodie, _Starting Forth_ VARIABLE RND \ Holds current result \ Generate a random integer : RANDOM ( -- u ) RND @ 31421 * 6927 + DUP RND ! ; \ Return a random integer between 0 and u-1 : CHOOSE ( lo hi -- lo...hi-1 ) over - RANDOM swap mod + ; \ Initialize : RANDOMIZE ( -- ) TIME&DATE + + + + + RND ! ; \ my code : range ( n -- ) 0 do i , loop ; : th ( n -- ) cells + ; : s! swap ! ; : scan ( addr count ) 0 do dup i cells + @ . loop ; 52 constant #cards create deck #cards range : interchange ( addr1 addr2 -- ) dup @ >r swap dup @ >r swap ( addr2 addr1 ) r> s! r> s! ; : shuffle #cards 0 do deck i #cards choose th deck i th interchange loop ;