10 REM *** BBC VERSION *** 20 REM *** EXOCET *** 30 REM Exocet @ Robert Erskine 1983 40 REM Converted to 32K BBC Micro by C.R.T anner 50 MODE 7 60 GOSUB 880 70 GOSUB 600 80 MODE 1 90 VDU 23;8202;0;0;0;28,4,27,35,4,19,0,130 ,0,0,0,19,1,4,0,0,0 100 GOSUB 370 110 GOSUB 430 120 hs=0 130 COLOUR 2 140 FOR x=1 TO 632 150 IF 664-x>31 PRINT TAB(0,10);:COLOUR 1 29:COLOUR 2:FOR A%=x TO x+31:PRINT CHR$(?(A%+ MEM));:NEXT 160 COLOUR 128:PRINT TAB(COL,LIN);" " 170 IF INKEY(-98) AND FLAG=0 AND COL>0 TH EN COL=COL-1:T=T-8 180 IF INKEY(-67) AND FLAG=0 AND COL<26 T HEN COL=COL+1:T=T+8 190 COLOUR 3:COLOUR 128:PRINT TAB(COL,LIN );"+" 200 IF FLAG=1 THEN GOTO 240 210 IF INKEY(-99) ELSE GOTO 330 220 L=0:D=1:FLAG=1:Y=127 230 EX=EX-1 240 GCOL 0,1:PLOT 70,(Y+32)*4,(L+32)*4 250 LL=L:YY=Y 260 SOUND 1,-15,50,1 270 IF L>=112 THEN D=0 280 IF RND(1)>.8 THEN GOTO 310 290 L=L+(8 AND D=1)-(8 AND D=0) 300 Y=Y+(ABS(Y-T)/2 AND T>Y)-(ABS(Y-T)/2 AND T<Y) 310 GCOL 0,0:PLOT 70,(YY+32)*4,(LL+32)*4 320 IF L<=95 AND D=0 THEN GOSUB 730 330 IF FLAG=0 THEN TIME=0:REPEAT UNTIL TI ME>10 340 IF EX<0 THEN x=632:NEXT:GOTO 520 350 NEXT x 360 GOTO 520 370 CLG:LIN=11:COL=15:T=123:FLAG=0:EX=10 380 FOR X=0 TO 10 390 FOR Y=0 TO 31 400 COLOUR 129:PRINT TAB(Y,X);" " 410 NEXT:NEXT 420 RETURN 430 DATA 224,32,32,32,32,32,225,226,32,32,3 2,32,227,228,229,32,32,32,32 440 RESTORE 450 FORA%=1 TO 3:FORB%=1 TO 6:READ C%:G(A%, B%)=C%:NEXT:NEXT 460 FORA%=4 TO 10:FOR B%=1 TO 6:G(A%,B%)=32 :NEXT:NEXT 470 FORA%=1 TO 32:?(MEM+A%)=32:NEXT 480 FORA%=1 TO 594 STEP 6:C%=INT(RND(9)+1) 490 FORB%=1 TO 6:?(MEM+31+B%+A%)=G(C%,B%) :NEXT:NEXT 500 sc=0:FORA%=1 TO 32:?(MEM+A%+632)=32:NEX T 510 RETURN 520 CLS:PRINT TAB(6,10);"Your score was ";s c 530 sc=0:EX=10 540 *FX15,1 550 PRINT TAB(3,20);"Press any key to resta rt" 560 IF INKEY$(1000)="" THEN GOTO 560 570 GOSUB 370 580 GOSUB 430 590 GOTO 140 600 CLS:PRINT TAB(0,0);CHR$(141);CHR$(129); "-------------- EXOCET --------------"'CHR$(1 41);CHR$(129);"-------------- EXOCET -------- -----" 610 PRINT'" The object of this game is to s ink the enemy ships with Exocet missiles as t heycros the horizon." 620 PRINT'" The controls are:-" 630 PRINT'CHR$(133);" Z = move sight left"' 640 PRINT'CHR$(133);" X = move sight right"' 650 PRINT'CHR$(133);" <SPACE> = fire mis sile"' 660 PRINT " You can score:-"' 670 PRINT CHR$(134);" 10 Points on hitting a large ship"' 680 PRINT CHR$(134);" 20 Points on hitting a medium ship"' 690 PRINT CHR$(134);" 30 Points on hitting a small ship" 700 PRINT TAB(6,24);CHR$(136);"Press any ke y to start"; 710 IF INKEY$(1000)="" THEN GOTO 710 720 RETURN 730 IF POINT((Y+32)*4,548)<>2 THEN GOTO 830 740 IF ?(MEM+x+COL)=224 THEN sc=sc+30 750 IF (?(MEM+x+COL)=225 AND ?(MEM+x+COL+1) =226) OR (?(MEM+x+COL-1)=225 AND ?(MEM+x+COL) =226) THEN sc=sc+20 760 IF (?(MEM+x+COL)=227 AND ?(MEM+x+COL+1) =228 AND?(MEM+x+COL+2)=229) OR (?(MEM+x+COL-2 )=227 AND ?(MEM+x+COL-1)=228 AND?(MEM+x+COL)= 228 AND?(MEM+x+COL+1)=229) THEN sc=sc+10 770 RESTORE 810 780 FOR z=1 TO 15:SOUND 1,-15,60,1 790 PLOT 69,(Y+32)*4,(L+48)*4:READ YY,LL: GCOL 0,2:PLOT 1,YY*4,LL*4 800 NEXT z 810 DATA -4,4,-4,5,-3,6,-3,7,-2,8,-2,9,-1,1 0,0,11,1,10,2,9,2,8,3,7,3,6,4,5,4,4 820 FOR A%=(MEM+x+COL-3) TO (MEM+x+COL+3):? A%=32:NEXT 830 FLAG=0 840 COLOUR 129:PRINT TAB(COL,LIN-2);" ";TAB (COL,LIN-1);" " 850 IF sc>hs THEN hs=sc 860 PRINT TAB(0,0);"SCORE:";sc;" EXOS:";EX; " HIGH SCORE:";hs 870 RETURN 880 VDU 23,224,0,0,0,0,0,0,16,255 890 VDU 23,225,0,0,0,0,1,39,255,127 900 VDU 23,226,0,0,0,0,128,230,255,254 910 VDU 23,227,0,0,0,0,1,255,127,63 920 VDU 23,228,0,24,60,63,255,255,255,255 930 VDU 23,229,0,0,0,0,192,255,254,252 940 DIM G(10,6),MEM 800 950 RETURN