10 REM HELI-BOMBER
20 REM @ ROBERT ERSKINE 25 REM PAN BOOKS 1984 30 MODE 1:BORDER 0:INK 0,0:INK 1,24:INK 2,20:INK 3,6:WINDOW #1,1,40,1,25:PAPER #1,0:PEN #1,1:CLS #1 40 GOSUB 880 50 SC=0:HS=0 60 LOCATE 14,1:PEN 1:PRINT CHR$(24);"HELI-BOMBER";CHR$(24);:PEN 1 70 LOCATE 1,7:PEN 2:PRINT"Your city is under attack by helicopter bombers. When a bomb has a clear path through to the ground or when your lasertower is destroyed the game ends.":PEN 1 80 PEN 3:PRINT:PRINT"Move your laser sight whith the cursor keys. Use the COPY key to fire.":PEN 1 90 PRINT:PRINT CHR$(24);"You may destroy the helicopter if you wish, but the game will end. ";CHR$(24) 100 LOCATE 6,21:PRINT"PRESS ANY KEY TO START THE GAME" 110 IF INKEY$<>"" THEN 110 120 IF INKEY$="" THEN 120 ELSE CLS 130 WINDOW #0,5,36,1,25:PAPER #0,0:PEN #0,1:CLS #0 140 GOSUB 550 150 LIN=LIN+(2 AND INKEY(2)=0 AND LIN<13) 160 LOCATE 16, 22:CALL 360:K=PEEK(367):IF K<>233 THEN 640 170 COL=COL-(2 AND INKEY(8)=0): IF COL<0 THEN COL=31 180 LIN=LIN-(2 AND INKEY(0)=0 AND LIN>0) 190 COL=COL+(2 AND INKEY(1)=0):IF COL >31 THEN COL=0 200 LOCATE CL+1,LN+1:PRINT" ":LOCATE COL+1,LIN+1:PRINT"+";:LN=LIN:CL=COL 210 IF COL1=30 THEN COL1=0:LIN1=INT(RND*10)+1 220 LIN1=LIN1+(1 AND RND>0.7 AND LIN1<13) 230 LIN1=LIN1+(1 AND RND>0.7 AND LIN1<13) 240 LIN1=LIN1-(1 AND RND>0.7 AND LIN1>0) 250 COL1=COL1+(1 AND COL1<30) 260 LOCATE CL1+1,LN1+1:PRINT" ";:LOCATE CL1+1,LN1+2:PRINT" ";:LOCATE COL1+1,LIN1+1:PEN 2:PRINT"__":LOCATE COL1+1,LIN1+2:PRINT CHR$(234);CHR$(235);:PEN 1:LN1=LIN1:CL1=COL1 270 IF G=1 AND RND>0.8 THEN LIN2=LIN1+2:COL2=COL1:G=-G:LN2=LIN1+2:COL2=COL2 280 IF G=1 THEN 320 290 LIN2=LIN2+1 300 LOCATE CL2+1,LN2+1:PRINT" ";:LOCATE COL2+1,LIN2+1:PEN 1:PRINT CHR$(236);:LN2=LIN2:CL2=COL2:SOUND 1,200,4:IF LIN2=21 THEN 640 310 LOCATE COL2+1,LIN2+2:CALL 360:K=PEEK(367):IF K=231 OR K=232 OR K=233 THEN LOCATE COL2+1,LIN2+1:PRINT" ";:LOCATE COL2+1,LIN2+2:PRINT CHR$(236);:LOCATE COL2+1,LIN2+2:PRINT" ";:G=-G 320 IF INKEY(9)<>0 THEN 150 330 X=122:Y=42:PLOT X*2+64,Y*2+64,1 340 XX=COL*8:YY=LIN*8-172 350 YY=-YY 360 DRAWR (XX-X)*2+8,(YY-Y)*2-16,3 370 IF LIN=LIN1+1 AND (COL=COL1 OR COL=COL1+1) THEN H=-H 380 IF COL=COL2 AND LIN=LIN2 THEN B=-B 390 PLOT X*2+64,Y*2+64,0:DRAWR (XX-X)*2+8,(YY-Y)*2-16,0 400 IF B=-1 THEN GOSUB 430 410 IF H=-1 THEN GOSUB 450 420 GOTO 150 430 FOR X=1 TO 10:SOUND 1,200-5*X,4:LOCATE COL2+1,LIN2+1:PRINT"*";:NEXT X 440 LOCATE COL2+1,LIN2+1:PRINT" ";:SC=SC+10:G=-G:B=-B:RETURN 450 FOR X=LIN1 TO 20 460 LOCATE CL1+1,LN1+1:PRINT" ":LOCATE CL1+1,LN1+2:PRINT" "; 470 LOCATE COL1+1,LIN1+1:PRINT" ";:LOCATE COL1+1,LIN1+1:PEN 2:PRINT CHR$(234);CHR$(235);:PEN 1 480 LN1=LIN1:CL1=COL1:LIN1=LIN1+1 490 SOUND 1,180-X,4 500 NEXT X 510 LOCATE COL1+1,LIN1+1:PRINT" ";:LOCATE COL1+1,LIN+2:PRINT" ";:LOCATE 16,22:CALL 360:K=PEEK(367):IF K=231 OR K=233 THEN 640 520 LIN1=0:COL1=INT(RND*31) 530 H=-H 540 RETURN 550 REM USER GRAPHICS 560 SYMBOL AFTER 230 570 SYMBOL 231,255,165,165,255,165,165,165,255 580 SYMBOL 232,24,126,126,126,60,24,24,255 590 SYMBOL 233,129,195,165,153,153,165,195,129 600 SYMBOL 234,0,0,195,255,15,7,0,0 610 SYMBOL 235,128,128,224,152,252,248,0,0 620 SYMBOL 236,195,195,36,24,24,36,195,195 630 GOTO 720 640 LOCATE 11,11:PEN 2:PRINT"END OF GAME":PEN 1:LOCATE 8,3:PRINT"Your score was";sc:IF sc>hs THEN HS=SC:PEN 1 650 LOCATE 10,15:PRINT"High score:";hs 660 FOR x=1 TO 600:NEXT x 670 LOCATE 3,17:PEN 3:PRINT"PRESS ANY KEY TO START AGAIN":PEN 1 680 IF INKEY$<>"" THEN 680 690 IF INKEY$="" THEN 690 ELSE CLS 700 SC=0:GOSUB 720 710 GOTO 150 720 REM 730 FOR X= 0 TO 31 740 R=INT(RND*5)+17 750 FOR Y=R TO 21 760 LOCATE X+1,Y+1:PEN 3:PRINT CHR$(231);:PEN 1 770 NEXT Y,X 780 LOCATE 16,17:PRINT CHR$(232); 790 FOR X=17 TO 21 800 LOCATE 16,X+1:PRINT CHR$(233); 810 NEXT 820 LIN=10:COL=15:LOCATE COL+1,LIN+1:PRINT"+"; 830 LIN1=0:COL1=INT(RND*31):LN=LIN:CL=COL 840 LOCATE COL1+1,LIN1+1:PEN 2:PRINT"__";:LOCATE COL1+1,LIN1+1:PRINT CHR$(244);CHR$(245);:PEN 1 850 LN1=LIN1:CL1=COL1 860 G=1:H=1:B=1 870 RETURN 880 RESTORE 890:FOR X=360 TO 366:READ A:POKE X,A:NEXT: RESTORE:RETURN 890 DATA 205,96,187,50,111,1,201 |