Galton box animation: Difference between revisions

Added BBC BASIC
(+BASIC-256 with animation)
(Added BBC BASIC)
Line 235:
refresh
return</lang>
 
=={{header|BBC BASIC}}==
{{works with|BBC BASIC for Windows}}
[[Image:quincunx_bbc.gif|right]]
<lang bbcbasic> maxBalls% = 10
DIM ballX%(maxBalls%), ballY%(maxBalls%)
VDU 23,22,180;400;8,16,16,128
ORIGIN 180,0
OFF
REM Draw the pins:
GCOL 9
FOR row% = 1 TO 7
FOR col% = 1 TO row%
CIRCLE FILL 40*col% - 20*row% - 20, 800 - 40*row%, 12
NEXT
NEXT row%
REM Animate
last% = 0
tick% = 0
GCOL 3,3
REPEAT
IF RND(10) = 5 IF (tick% - last%) > 10 THEN
FOR ball% = 1 TO maxBalls%
IF ballY%(ball%) = 0 THEN
ballX%(ball%) = 0
ballY%(ball%) = 800
last% = tick%
EXIT FOR
ENDIF
NEXT
ENDIF
FOR ball% = 1 TO maxBalls%
IF ballY%(ball%) CIRCLE FILL ballX%(ball%), ballY%(ball%), 12
IF POINT(ballX%(ball%),ballY%(ball%)-10) = 12 OR ballY%(ball%) < 12 THEN
ballY%(ball%) = 0
ENDIF
NEXT
WAIT 2
FOR ball% = 1 TO maxBalls%
IF ballY%(ball%) THEN
CIRCLE FILL ballX%(ball%), ballY%(ball%), 12
ballY%(ball%) -= 4
FOR r% = 1 TO 7
IF ballY%(ball%) = 820 - 40*r% ballX%(ball%) += 40 * (RND(2) - 1.5)
NEXT
ENDIF
NEXT
tick% += 1
UNTIL FALSE</lang>
 
=={{header|C}}==