program define coins version 4.0 quietly{ set obs 100 gen x=uniform() gen y=uniform()} global n=1 global ntot=0 global xtot=0 wdctl button "Reset" 5 5 30 12 HJN_B0 wdctl button "Flip" 5 20 30 12 HJN_B1 wdctl button "Help" 5 35 30 12 HJN_B5 wdctl button "Close" 5 50 30 12 HJN_B6 global n=1 global HJN_1 "# of flips" wdctl static HJN_1 5 65 30 12 wdctl edit n 40 65 10 12 global HJN_B0 "coinsdr 0" global HJN_B1 "coinsdr 1" global HJN_B5 "whelp coins" global HJN_B6 "exit 1234" noi wdlg "Flipping Coins" 5 5 80 130 restore end program define coinsdr version 4.0 local arg = `1' if `arg'==0 { global ntot=0 global xtot=0} if $n < 1 $n > 500 { sstopbox stop "# of flips must be between 1 and 500" exit} replace x=. replace y=. replace x=uniform() in 1/10 replace y=uniform() in 1/10 gph open gph pen graph y x, s(i) xlab(0,1) ylab(0,.5,1) replace x=. replace y=. replace x=uniform() in 1/$n replace y=uniform() in 1/$n