Compucolor.org – Virtual Media

Listing of file='MARBLE.BAS;01' on disk='vmedia/chip_125-sideB-sector.ccvf'

1 DIM BIN(100)
2 CO= 1:PLOT 12,27,24,14,22
3 REM  MARBLE, EVER SO SLIGHTLY MODIFIED JULY 1979 BY DON MILLER
50 PLOT 3,25,0
55 PRINT "MARBLE DROP GAME":PRINT
60 PLOT 19
100 INPUT "HOW MANY END BINS (1-28) ?";EB
200 INPUT "HOW MANY MARBLES DO YOU WANT TO FALL ? ";NM
300 INPUT "HOW LONG DO YOU WANT THE DELAY TO BE ? ";DE
310 IF EB< 1OR EB> 28THEN PLOT 6,3,12:GOTO 100
320 PLOT 15
400 PLOT 6,3,12,3,64,0
410 PLOT 6,4
450 PLOT 27,1
600 FOR X= 1TO EB
700 PLOT 3,30- X,28- EB+ X
800 FOR L= 1TO X
900 PLOT 32,2,254,51,255
1000 NEXT L,X
1010 FOR X= 29TO 31
1020 PLOT 3,28- EB,X
1030 FOR L= 1TO EB+ 2
1040 PLOT 32,29,110
1050 NEXT L,X
1060 FOR Q= 1TO NM
1100 CX= 30:CY= 28- EB
1101 CP= CO
1102 CO= INT (7* RND (1)+ 1)
1103 IF CO= 4THEN 1102
1110 PLOT 3,0,0
1120 PRINT "MARBLE #";Q
1130 PLOT 3,64,0
1200 PLOT 3,127,CX,CY,CO,100
1250 IF DE< > 0THEN FOR I= 1TO DE:J= I* I* I:NEXT
1300 IF CY= 28GOTO 30000
1400 X= SGN (RND (1)- .5)
1500 PLOT 3,127,CX,CY,2,32
1600 CX= CX+ X:CY= CY+ 1
1700 GOTO 1200
30000 BIN(CX)= BIN(CX)+ 1
30100 CH$= RIGHT$ ("   "+ STR$ (BIN(CX)),3)
30200 FOR X= 1TO 3
30250 PLOT 27,27
30300 PLOT 3,CX,CY+ X,6,6
30400 A$= MID$ (CH$,X,1)
30450 PRINT A$
30500 NEXT
30600 PLOT 3,127,CX,CY,2,32
30700 NEXT
30800 PLOT 27,27,27,75,3,0,0
30850 PLOT 11,6,1
30860 PRINT "FINISHED."
30900 POKE 33278,0
31000 IF PEEK (33278)= 0THEN 50300
31100 PLOT 12,6,6
31200 FOR X= 0TO 63
31300 IF BIN(X)= 0GOTO 31900
31400 H= INT (BIN(X)/ NM* 128)
31500 I= 2* X- 2
31600 FOR J= 1TO 4
31700 PLOT 2,I+ J,0,242,I+ J,H,255
31800 NEXT
31900 NEXT
50000 PLOT 3,0,0
50100 POKE 33278,0
50200 IF PEEK (33278)= 0GOTO 50200
50300 REM
50340 PLOT 14
50350 PLOT 3,40,0:INPUT "PLAY AGAIN * ";A$
50355 IF LEFT$ (A$,1)= "Y"THEN 2
50370 PLOT 27,11
50400 LOAD "MENU":RUN
50410 END