mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-12 15:50:20 -08:00
25 lines
953 B
QBasic
25 lines
953 B
QBasic
10 PRINT "DISTRIBUTION OF DICE ROLLS WITH INT(7*RND(1)) VS INT(6*RND(1)+1)"
|
|
20 DIM A(12)
|
|
30 DIM B(12)
|
|
100 FOR X = 1 TO 100000 : REM CHOOSE A LARGE NUMBER TO GET A FINER GRAINED HISTOGRAM
|
|
140 REM GET A NUMBER FROM 0 TO 6 INCLUSIVE WITH THE INTENT TO THROW AWAY ZEROES.
|
|
150 LET D1 = INT(7*RND(1))
|
|
155 LET D2 = INT(7*RND(1))
|
|
160 LET S1 = D1+D2
|
|
165 REM IF THIS SUM IS LESS THAN TWO THEN TRY AGAIN.
|
|
170 IF S1<2 THEN 150
|
|
199 REM GET A NUMBER FROM 0 TO 5 THEN ADD 1 TO IT TO MAKE IT 1 TO 6
|
|
200 LET D3 = INT(6*RND(1))+1
|
|
210 LET D4 = INT(6*RND(1))+1
|
|
220 LET S2 = D3+D4
|
|
245 REM USE OUR ARRAY AS A HISTOGRAM, COUNTING EACH OCCURRENCE OF DICE ROLL
|
|
250 A(S1) = A(S1) + 1
|
|
260 B(S2) = B(S2) + 1
|
|
290 NEXT X
|
|
300 PRINT "THE INT(7*RND(1)) DISTRIBUTION:"
|
|
310 FOR I = 2 TO 12 :PRINT I,:NEXT:PRINT
|
|
320 FOR I = 2 TO 12 :PRINT A(I),:NEXT:PRINT
|
|
325 PRINT "THE INT(6*RND(1)+1) DISTRIBUTION"
|
|
330 FOR I = 2 TO 12 :PRINT I,:NEXT:PRINT
|
|
340 FOR I = 2 TO 12 :PRINT B(I),:NEXT:PRINT
|