160 GOSUB 740:PRINT"BALLOON C R A Z Y !":LOCATE 9,10:PRINT"/":LOCATE 8,11:PRINT"Do you need":LOCATE 9,11:PRINT"to adjust":LOCATE 10,11:PRINT"your joystick?":WHILE INKEY$<>"":WEND
170 A$=INKEY$:IF A$="" AND STRIG(1)=0 THEN 170 ELSE IF (ASC(A$+CHR$(0)) OR 32)=121 THEN GOSUB 600
180 CLS:PRINT"BALLOON C R A Z Y !":LOCATE 1,25:PRINT"Score:";SC!
190 FOR I=158 TO 158 +(LIVES-2)*8 STEP 8:PUT(I,0),TINY:NEXT:GOSUB 350
200 FOR ROW=20 TO 80 STEP 20:FOR COL=45 TO 255 STEP 15:PUT (COL,ROW),BALL:NEXT COL,ROW
210 PUT(X,Y),MAN:GET (X,Y)-(X+21,EY),MOBJ
220 IF BP<0 THEN GOSUB 380:GOTO 180 ELSE BY=BP*20+20:T$=BP$(BP):PTR=0.5+RND(1)*LEN(T$):BX=(ASC(MID$(T$,PTR))-64)*15+30:T$=LEFT$(T$,PTR-1)+MID$(T$,PTR+1):BP$(BP)=T$:IF T$="" THEN BP=BP-1
230 PUT(BX,BY),BALL:BY=BY+SP!:PUT(BX,BY),BALL:IF BY>180 THEN 440
240 IF ABS(BY-HP)<SP! THEN IF ABS((BX-7)-X)<DF THEN Y=Y-13:PUT(BX,BY),BALL:PUT(X+7,Y),BALL,PSET:SOUND 30000,1:GET(X,Y)-(X+21,EY),MOBJ:HP=HP-13:FLOATERS=FLOATERS+1:SP!=SP!+0.5:IF FLOATERS=7-BP THEN GOSUB 380:GOTO 210 ELSE 220
250 PUT(X,Y),MOBJ:NX=(STICK(0)-TX)*SKEW!:X=NX:IF NX<0 THEN X=0 ELSE IF NX>297 THEN X=297
260 PUT(X,Y),MOBJ
270 GOTO 230
280 READ XS,YS:E=(4+INT((XS+7)/8)*YS)/2:DIM MAN(E):MAN(0)=XS:MAN(1)=YS:FOR I=2 TO E:READ MAN(I):NEXT:Y=200-YS:MY=Y
290 READ XS,YS:E=(4+INT((XS+7)/8)*YS)/2:DIM POP(E):POP(0)=XS:POP(1)=YS:FOR I=2 TO E:READ POP(I):NEXT
300 READ XS,YS:E=(4+INT((XS+7)/8)*YS)/2:DIM FALL(E):FALL(0)=XS:FALL(1)=YS:FOR I=2 TO E:READ FALL(I):NEXT
310 READ XS,YS:E=(4+INT((XS+7)/8)*YS)/2:DIM BALL(E):BALL(0)=XS:BALL(1)=YS:FOR I=2 TO E:READ BALL(I):NEXT
320 READ XS,YS:E=(4+INT((XS+7)/8)*YS)/2:DIM XBALL(E):XBALL(0)=XS:XBALL(1)=YS:FOR I=2 TO E:READ XBALL(I):NEXT
330 READ XS,YS:E=(4+INT((XS+7)/8)*YS)/2:DIM TINY(E):TINY(0)=XS:TINY(1)=YS:FOR I=2 TO E:READ TINY(I):NEXT
340 RETURN
350 BP=3:FOR I=0 TO BP:BP$(I)="ABCDEFGHIJKLMNO":NEXT
360 RETURN
370 GOSUB 380:GOTO 220
380 FOR I=1 TO FLOATERS
390 PUT(X,MY),POP,PSET:PUT(X+7,MY-13),BALL:PUT(X+7,MY-18),XBALL:FOR J=0 TO 5:SOUND 100+J,0.5:NEXT:PUT(X+7,MY-18),XBALL
400 IF I<FLOATERS THEN PUT(X+7,Y),BALL:PUT(X+7,MY-13),BALL
410 PUT(X,MY),MAN,PSET:FOR W=1 TO 5:NEXT:SC!=SC!+10:LOCATE 1,31:PRINT SC!:Y=Y+13:NEXT
420 Y=MY:GET (X,Y)-(X+21,EY),MOBJ:PUT (X,Y),MAN
430 SP!=4:HP=164:FLOATERS=0:RETURN
440 PUT(BX,BY),BALL:PUT(BX,BY-5),XBALL:FOR J=0 TO 5:SOUND 105-J,0.5:NEXT:PUT(BX,BY-5),XBALL
450 PUT(X,MY),MAN:PUT(X,MY),FALL
460 IF FLOATERS=0 THEN 510
470 FOR I=1 TO FLOATERS
480 PUT(X+7,MY-13),BALL:PUT(X+7,MY-18),XBALL:FOR J=0 TO 5:SOUND 105-J,0.5:NEXT:PUT(X+7,MY-18),XBALL
490 IF I<FLOATERS THEN PUT(X+7,Y),BALL:PUT(X+7,MY-13),BALL
500 FOR W=1 TO 5:NEXT:Y=Y+13:NEXT
510 NY=MY:S=-6:FOR I=X+5 TO 291 STEP 5:PUT(I-5,NY),FALL:NY=NY+S:IF NY<MY-18 OR NY>MY THEN NY=NY-S:S=-S
520 PUT(I,NY),FALL:SOUND 100+NY,0.5:NEXT
530 NX=I-5:FOR I=NY-16 TO 0 STEP-16:PUT(NX,I+16),FALL:PUT(NX,I),FALL:SOUND 5000-I*5,0.1:NEXT
540 PUT(NX,I+16),FALL
550 LIVES=LIVES-1:PUT(150+LIVES*8,0),TINY:IF LIVES>0 THEN PUT(X,MY),MAN:GOSUB 420:GOTO 210
560 CLS:FOR I=0 TO 49:X(I)=4+15*INT(20*RND(1)):Y(I)=18*INT(10*RND(1)):PUT (X(I),Y(I)),BALL,PSET:NEXT
570 FOR I=0 TO 49:PUT (X(I)-4,Y(I)),XBALL,PSET:SOUND 100+5*RND(1),0.2:SOUND 30000,0.2:PUT (X(I)-4,Y(I)),XBALL:NEXT
680 LOCATE 8,11:PRINT"Move stick to ":LOCATE 9,11:PRINT"far right,":LOCATE 10,11:PRINT"press button!"
690 LX=STICK(0):IF STRIG(1)<>0 THEN 710
700 FOR I=10 TO 0 STEP-1:C=-C*(C<3)+1:LINE (289-I,40)-(319-I,70),C:LINE-(289-I,100),C:NEXT:GOTO 690
710 FOR I=1 TO 5:PUT (57,45),XBALL,PSET:PUT(50,63),POP,PSET:FOR J=1 TO 4:SOUND 100+J,0.5:NEXT:PUT(57,50),BALL,PSET:PUT(50,63),MAN,PSET:FOR J=1 TO 100:NEXT:NEXT