10 REM EXOCET
20 REM à ROBERT ERSKINE 25 REM PAN BOOKS 1984 30 MODE 1:BORDER 0:INK 0,0:INK 1,6:INK 2,20:INK 3,1:WINDOW #1,1,40,1,25:PAPER #0,0:PEN #0,1:CLS #1 40 DIM G$(10),S$(10) 50 GOSUB 840 60 GOSUB 580 70 WINDOW #0,5,36,1,25:PAPER #0,3:PEN #0,1:CLS #0 80 GOSUB 360 90 GOSUB 430 100 HS=0 110 FOR P=1 TO 10 120 FOR X=1 TO (LEN(S$(P))-32) 130 PEN 2:LOCATE 1,11:PRINT CHR$(24);MID$(S$(P),X,32);CHR$(24);:PEN 1: 140 LOCATE COL+1,LIN+1:PRINT" "; 150 IF INKEY(8)=0 AND FLAG=0 AND COL>0 THEN COL=COL-1:T=T-8 160 IF INKEY(1)=0 AND FLAG=0 AND COL<26 THEN COL=COL+1:T=T+8 170 LOCATE COL+1,LIN+1:PRINT"+"; 180 IF FLAG=1 THEN 220 190 IF INKEY(47)<>0 THEN 310 200 L=0:D=1:FLAG=1:Y=127 210 EX=EX-1 220 PLOT Y*2+64,L*2+48,1:PLOT Y*2+63,L*2+48,1:PLOT Y*2+65,L*2+48,1 230 LL=L:YY=Y 240 SOUND 1,180,3 250 IF L>=80 THEN D=0 255 PLOT Y*2+64,l*2+48,3:PLOT Y*2+63,L*2+48,3:PLOT Y*2+66,L*2+48,3 260 IF RND>0.8 THEN 290 270 L=L-8*(D=1)+8*(D=0) 280 Y=Y-(ABS(Y-T)/2)*(T>Y)+(ABS(Y-T)/2)*(T<=Y) 290 IF L>90 THEN PLOT YY*2+64,LL*2+48,2 300 IF L<=80 AND D=0 THEN GOSUB 690 310 IF FLAG=0 THEN FOR XX=1 TO 40:NEXT 320 IF EX<0 THEN 500 330 NEXT X,P 340 GOTO 500 350 STOP 360 CLS:PEN 2:LIN=11:COL=15:T=123:FLAG=0:EX=10 370 FOR Y=1 TO 11 380 PEN 2:LOCATE 1,Y:PRINT STRING$(32,143); 390 NEXT 400 PEN 1 410 RETURN 420 STOP 430 FOR P=1 TO 4 440 S$(P)=Q$ 450 FOR X=1 TO 30:S$(P)=S$(P)+G$(INT(RND*10)+1):NEXT X 460 S$(P)=S$(P)+Q$ 470 NEXT P 480 SC=0 490 RETURN 500 CLS:PEN 2:LOCATE 7,11:PRINT"YOUR SCORE WAS";SC:PEN 1 510 SC=0:EX=10 520 LOCATE 4,21:PEN 2:PRINT CHR$(24);"PRESS ANY KEY TO RESTART";CHR$(24);:PEN 1 530 IF INKEY$<>"" THEN 530 540 IF INKEY$="" THEN 540:ELSE GOSUB 360 550 GOSUB 430 560 GOTO 110 570 END 580 REM 590 PEN 3:PRINT:PRINT CHR$(24);" E X O C E T ";CHR$(24);:PEN 1 600 PEN 2:PRINT:PRINT"The object of this game is to sink the enemy ships with Exocet missiles as theycross the horizon.":PEN 1 610 PRINT:PRINT:PRINT"TO MOVE LEFT AND RIGHT USE THE ARROW KEY" 620 PEN 3:PRINT:PRINT" USE THE SPACEBAR TO FIRE.":PEN 1 630 LOCATE 11,14:PEN 2:PRINT"HIT ON ";:PEN 3:PRINT CHR$(234);CHR$(235);CHR$(236);:PEN 2:PRINT" SCORES 10":PEN 1 640 LOCATE 11,16:PEN 3:PRINT"HIT ON ";:PEN 2:PRINT CHR$(232);CHR$(233);:PEN 3:PRINT" SCORES 20":PEN 1 650 LOCATE 11,18:PEN 2:PRINT"HIT ON ";:PEN 1:PRINT CHR$(231);:PEN 2:PRINT" SCORES 30":PEN 1 660 PEN 3:LOCATE 10,23:PRINT CHR$(24);"PRESS ANY KEY TO START";CHR$(24);:PEN 1 670 IF INKEY$<>"" THEN 670 680 IF INKEY$="" THEN 680 ELSE CLS:RETURN 690 IF TEST(Y*2+64,88*2+48)<>3 THEN 790 700 IF MID$(S$(P),X+COL,1)=CHR$(231) THEN SC=SC+30 710 IF MID$(S$(P),X+COL,2)=CHR$(232)+CHR$(233) OR MID$(S$(P),X+COL-1,2)=CHR$(232)+CHR$(233) THEN SC=SC+20 720 IF MID$(S$(P),X+COL,3)=CHR$(234)+CHR$(235)+CHR$(236) OR MID$(S$(P),X+(COL-1),3)=CHR$(234)+CHR$(235)+CHR$(236) OR MID$(S$(P),X+(COL-2),3)=CHR$(234)+CHR$(235)+CHR$(236) THEN SC=SC+10 730 RESTORE 770 740 FOR Z=1 TO 15:SOUND 1,(Z*7),3 750 PLOT Y*2+64,L*2+85,1:READ YY,LL:DRAWR YY*2,LL*2,1 760 NEXT Z 770 DATA -4,4,-4,5,-3,6,-3,7,-2,8,-3,9,-1,10,0,11,1,10,2,9,2,8,3,7,3,6,4,5,4,4 780 S$(P)=LEFT$(S$(P),X-1)+MID$(S$(P),X,COL-3)+" "+MID$(S$(P),(X+(COL+3))) 790 FLAG=0 800 PEN 2:LOCATE COL+1,LIN-1:PRINT CHR$(143);:LOCATE COL+1,LIN:PRINT CHR$(143);:PEN 1 810 IF SC>HS THEN HS=SC 820 LOCATE 1,1:PRINT CHR$(18);:LOCATE 1,1:PRINT CHR$(24);"SCORE:";CHR$(24);MID$(STR$(SC),2);:PEN 2:PRINT" EXOS:";:PEN 1:PRINT MID$(STR$(EX),2);:PEN 2:PRINT" HIGH SCORE:";:PEN 1:PRINT MID$(STR$(HS),2);:PEN 1 830 RETURN 840 SYMBOL AFTER 230 850 SYMBOL 231,0,0,0,0,0,0,16,255 860 SYMBOL 232,0,0,0,0,1,39,255,127 870 SYMBOL 233,0,0,0,0,128,230,255,254 880 SYMBOL 234,0,0,0,0,1,225,127,63 890 SYMBOL 235,0,24,60,63,255,255,255,255 900 SYMBOL 236,0,0,0,0,192,255,254,252 910 Q$=STRING$(32,32) 920 G$(1)=CHR$(231)+" " 930 G$(2)=CHR$(232)+CHR$(233)+" " 940 G$(3)=CHR$(234)+CHR$(235)+CHR$(236)+" " 950 FOR X=4 TO 10:G$(X)=" ":NEXT X 960 RETURN |