P185 ORACLE 181 Mon26 Apr ITV 1900:01 35819376GFSN0( KLINGON 35819376GFSN0( 208 ; : ; CYA " YOU are in command of the Starship"|v209 ; : ; CYA "INTERPRISE You are stranded millions"|l210 ; : ; CYA "of parsecs from the centre of the E ARTH"|&211 ; : ; CYA "FEDERATION Your energy screens can "|.212 ; : ; CYA "onl y withstand three direct hits and"|8213 ; : ; CYA "you are low on fuel. The only way to"|8214 ; : ; CYA "regain the safd ty of your galaxy is"|-215 ; : ; CYA "to blast your way through."|m216 ; : ; CYA " GOOD LUCK !"|?217 ; : ; GRN "PRESS SPACE BAR TO CONTINUE ";|b218 GET N$ : IF N$<>" " THEN 218 ELSE 335|0219 ; : ; |h220 GET R$|&221 RETURN |1222 END |)223 T1=25 : IF I>30 THEN RESUME 55 ELSE RES UME 58| 224 REM OWN SHIP EXPLODE|1225 RE M ————————————————|9226 FOR I1=0 TO 20|i 227 FOR I2=0 TO 24 : ; CUR(I2,0) GWHT NWBG : NEXT I2 |2228 ; CHR$(12)|(229 FOR I3=0 TO 10 : NEXT I3 |"|
P185 ORACLE 185 Mon26 Apr ITV 1900:01 35819376GFSN0( KLINGON 35819376GFSN0( 66 REM WHICH TYPE OF SPACE SHIP|v67 REM ————————————————————————|-68 ON E2 GOTO 72,245,261,321,324|369 REM E2 TELLS THE P OGRAMWHICHSHIPTOUSEREMINTER CEPTOR|v71 REM ———————————|(72 X1=N1*.71 *(R1+5)+A : Y1=N1*(R2+5)+A|c73 X2=N1*.75 *(R1-5)+A : Y2=N1*(R2-5)+A|b74 X3=N4*.71 *(R1+2)+A : Y3=N4*(R2+2)+A|i71 X4=N4*.71 *(R1-2)+A : Y4=N4*(R2-2)+A|p76 X5=N2*.75 *(R1+4)+A : Y5=N2*(R2+2)+A|m77 X6=N2*.73 *(R1-4)+A : Y6=N2*(R2-2)+A|t78 X7=N3*.73 *(R1+3)+A : Y7=N3*(R2+1.5)+A|v79 X8=N3*. 75*(R1-3)+A : Y8=N3*(R2-1.5)+A|}80 REM X 1-X8 AND Y1-Y8 ARE CO ORDS OF SHIP|481 F G -1 : FGPOINT 120,120-15 : FGLINE 120,1 20+11,1 : FGPOINT 120-15,120 : FGLINE 12 0+11,120,1|z82 REM DRAc CENTRE TA GET 3 FG@OINT 1,Y1 : FGLINE X1,Y2 : FGLINE X3,Y4 : FGLINE X3,Y3 : FGLINE X1,Y1|?84 REM DRAC INTERCEPTOR|)|
P185 ORACLE 185 Mon26 Apr ITV 1902:37 35819376GFSN0( KLINGON 35819376GFSN0( 254 FGPOINT X1,Y1 : FGLINE X3,Y3 : FGLIN E X5,Y5 : FGLINE X7,Y7 : FGLINE X8,Y8 : FGLINE X6,Y6 : FGLINE X4,Y4 : FGLINE X2, Y2 : FGLINE X1,Y1|u255 FGPOINT X1,Y2 : F GLINE X3,Y4 : FGLINE X5,Y6 : FGLINE X7,Y 8 : FGLINE X8,Y7 : FGLINE X6,Y5 : FGLINE X4,Y3 : FGLINE X2,Y1 : FGLINE X1,Y2|w25 6 FGPOINT N1*.75*R1+A,N1*R2+A : FGLINE N 4*R1*.75+A,N4*R2+A|'257 ON ERROR GOTO 24 2|2258 GOTO 88|$259 REM ROTATING SPACE S TATION|v260 REM ——————————————————————|x 261 C1=N1*(100+15*A2(D1))/100 : X1=C1*(R 1+10*A1(D1))+A : Y1=C1*(R2+4)+A : H1=C1* (R2-4)+A : D1=D1+1 : IF D1=32 THEN D1=0| .262 C2=N1*(100+15*A2(D2))/100 : X2=C2*( R1+10*A1(D2))+A : Y2=C2*(R2+4)+A : H2=C2 *(R2-4)+A : D2=D2+1 : IF D2=32 THEN D2=0 |<263 C3=N1*(100+15*A2(D3))/100 : X3=C3* (R1+10*A1(D3))+A : Y3=C3*(R2+4)+A : H3=C 3*(R2-4)+A : D3=D3+1 : IF D3=32 THEN D3= 0|j|
P185 ORACLE 185 Mon26 Apr ITV 1910:21 35819376GFSN0( KLINGON 35819376GFSN0( 1 GRAPHICS |>2 REM ********************* **********|h3 REM * *|g4 REM * KLINGON WARS *|75 REM * *|i6 REM * by *|e7 REM * *|k8 REM * PETER BULL *|{9 REM * *|m10 REM * of *|*11 REM * *|v12 REM * CARDINAL NEWMAN SCHOOL *|c13 REM * *|x14 REM * Copyright (c) 8/7/81 *||15 REM * *|z16 REM **************************** ***|=17 REM |(18 DIM P1(40),Q1(40),K1(40 ),P2(40),P3(40),Q2(40),Q3(40),A1(40),A2( 40)|,19 REM |*20 REM ASSIGN VALUES FOR S INE AND COSINE|a21 REM ————————————————— ————————————————|c|
P185 ORACLE 181 Mon26 Apr ITV 1900:00 35819376GFSN0( KLINGON 35819376GFSN0( 365 ; : ; CYA " Remember press s pacd bar to "|k366 ; : ; CYA "fire. The g!lf will get more difficult"|—367 FG -1 : FG 1|?368 ; : ; CYA "as you progress through it so beware !"|k369 ; : ; CYA " There are three different typds of "|x37 0 ; : ; CYA "spacd ships which are mord difficult"|2371 ; : ; CYA "to hit but th ey are also worth more"|c372 ; : ; CYA " points "|t373 ; : ; GRN "PRESS SPACE BAR TO START GAME ! ";|i374 GET N$ : IF N$ >" " THEN 374 ELSE 371|:371 RETURN |;376 REM A1(I)AND A2(I) ARE SINES AND COSINE S|-|
P185 ORACLE 185 Mon26 Apr ITV 1902:13 35819376GFSN0( KLINGON 35819376GFSN0( 230 NEXT I1 |*231 REM OWN SHIPS REMAININ G|+232 REM ———————————————————|w233 U=U- 1 : IF U>0 THEN 35 ELSE E2=4 : GOTO 35|h 234 RESUME 175|c235 REM GAME OVER|0236 R EM —————————|;237 ; CUR(12,0) YEL DBLE " GAME OVER"|(238 ; CUR(14,2) YEL "YOUR SC ORE WAS" R|h239 GOTO 65000|.240 R=0 : GO TO 24|*241 RETURN |3242 RESUME 55|/243 R FM X WING FIGHTER|/244 "FM ————————————— —|z243 X1=N1*.73*(R1+2)+A : Y1=N1*(R2+2) +A|/246 X2=N1*.75*(R1-2)+A : Y2=N1*(R2-2 )+A|6247 X3=N2*.75*(R1+2)+A : Y3=N2*(R2+ 2)+A|7248 X4=N2*.73*(R1-2)+A : Y4=N2*(R2 -2)+A|>249 X5=N3*.75*(21+5)+A : Y5=N3*(R 2+5)+A|%250 X6=N3*.75*(R1-5)+A : Y6=N3*( R2-5)+A|£251 X7=N4*.75*(R1+5)+A : Y7=N4* (R2+5)+A|$252 X8=N4*.73*(R1-5)+A : Y8=N4 *(R2-5)+A|+253 FG -1 : FGPOINT 120,120-1 5 : FGLINE 120,120+15,1 : FGPOINT 120-15 ,120 : FGLINE 120+15,120,1|+|
P185 ORACLE 185 Mon26 Apr ITV 1901:54 35819376GFSN0( KLINGON 35819376GFSN0( 135 M=M+2 : GOTO 124|s136 L=L-2 : M=M-2 : GOTO 124|$137 L=L-2 : GOTO 124|u138 L= L-2 : M=M+2 : GOTO 124|$139 REM M AND L ARE MOVEMANT CONTROLS||140 GOTO 124|!141 REM SHIP FIRE ROUTINE|v142 REM ———————— —————————|7143 J=J+30 : O=1|j144 REM J I S POSITION OF SHIP FIRE , O IS CGTNTER F OR P2OGRAM IF FIRING|'145 FGPOINT 5,0 : FGLINE J,J : FGPOINT 0,5 : FGLINE J,J|÷1 46 FGPOINT 235,0 : FGLINE 240-J,J : FGPO INT 239,5 : FGLINE 239-J,J|—147 IF J<120 THEN 58||148 REM IF HIT THEN EXPLODE|q1 49 REM ———————————————————|÷150 IF X>120 -2*N1 AND X<120+2*N1 AND Y>120-N1 AND Y< 120+N1 THEN 152|'131 V 30 : O=0 : GOTO 9 4|3132 FG -1 : FG 1|7153 REM GOSUB FIND SCORE|6154 REM ————————————————|:135 ON E2 GOSUB 279,280,281|z156 REM EXPLOSION ROUTINE|c157 REM —————————————————|=158 FOR K2=0 TO 16|u159 K1(K2)=INT(5*RND)/ 5+1|a160 REM K1(K2) IS RANDOM NO.|i|
P185 ORACLE 181 Mon26 Apr ITV 1904:11 IF F5<=0 THEN 317|-113 IF SYS(5) THEN GE T A$ ELSE 124|9114 REM A$ IS KEYBOARD IN @UT|x115 IF A$=" " THEN 143|o116 IF VAL( A$)>9 THEN 124|y117 ON VAL(A$) GOTO 130, 131,132,133,134,135,136,137,138,141|÷118 ON ERROR GOTO 121|*119 REM IF ANY GT@ER INPUT IGNORE| 120 GOTO 124|?121 RESUME 124|8122 REM DISPLAY SPEEDQ ET .123 RE M ———————————————————|v124 ; CUR(0,0) YE L "H/spedd" INT MCURV " INT(L*10) CUR(0,26) CYA "Score" R|5121 F5=F5-ABS(M)-ABS L | 126 ; CUR(23,0) GR N "Remaining Ships" U CUR(23,20) RED "Fu el" F5;|<127 RETURN |6128 REM MOVDDENT C ONTROLS|:129 @M —————————————————|<130 M=M-2 : L=L+2 : GOTO 124||131 L L+2 : GO TO 124|m132 L=L+2 : M=M+2 : GOTO 124|<13 3 M=M-2 : GOTO 124|s134 F5=F5-ABS( ABS M) : L=0 : M=0 : GOTO 124|y|
P185 ORACLE 185 Mon26 Apr ITV 1900:11 35819376GFSN0( KLINGON 35819376GFSN0( 315 FOR I5=0 TO 2000 : NEXT I5 |c316 B +1 : GOTO 40|0317 FG -1 : ; CUR$13,7) RE D FLSH DBLE "YOU HAVE RUN OUT OF FUEL"|k 318 ; CUR(10,13) YEL DBLE "GAME OVERb||3 19 ; CUR(16,12) RED DBLE "Your score was " R;|÷320 GOTO 65000|%321 FG 0 : ; CUR( 10,15) YEL DBLE "GAME OVER"|-322 ; CUR(1 4,12) RED DBLE "Your score was ";R;|1323 GOTO 65000|(324 FG M1 : FG 1 : R4=0|&32 7 FOR H=0 TO 30|8326 X1=N1*.73*A2(H+1) +A : Y1=N1*A1(H+1)+A|;327 X2=N1*.75*A2 (H)+A : Y2=N1*A1(H)+A|&328 X3=N1*.75*. 75*A2(H+1)+A : X4=N1*.73*.75*A2(H)+A|232 9 X5=N1*.75*.5*A2(H+1)+A : X6=N1*.75*. 5*A2(H)+A|i330 X7=N1*.73*.25*A2(H+1)+A : X8=N1*.75*.25*A2(H)+A|)331 FGPOINT X2,Y2 : FGLINE X1,Y1 : FGPOINT X4,Y2 : F GLINE X3,Y1 : FGPOINT X6,Y2 : FGLINE X5, Y1 : FGPOINT X8,Y2 : FGLINE X7,Y1|1332 N EXT H |{333 FGLINE N1*.75+A,A|&334 GOTO 88|335 ; CHR$(12)|g|
P185 ORACLE 181 Mon26 Apr ITV 1900:00 35819376GFSN0( KLINGON 35819376GFSN0( 271 FGPOINT X5,Y5 : FGLINE X6,Y6 : FGLIN E X6,H6 : FGLINE X5,H5 : FGLINE X5,Y5|n2 72 FGPOINT X1,Y1 : FGLINE X6,H6 : FGPOIN T X1,H1 : FGLINE X6,Y6 : FGPGHNT X2,Y2 : FGLINE X5,H5 : FGPGHNT X2,H2 : FGLINE X 5,Y5|9273 FGPOINT X3,Y3 : FGLINE X4,Y4 : FGLINE X4,H4 : FGLINE X3,H3 : FGLINE X3 ,Y3||274 FGPOINT X7,Y7 : FGLINE X8,Y8 : FGLINE X8,H8 : FGLINE X7,H7 : FGLINE X7 Y7|%271 FGPOINT X3,Y3 : FGLINE X8,H8 : F GPOINT X3,H3 : FGLINE X8,Y8 : FGPOINT X4 ,Y4 : FGLINE X7,H7 : FGPOINT X4,H4 : FGL INE X7,Y7|<276 GOTO 88|$277 REM SHIP POI NTS|q278 REM ———————————|a279 0 F1+1 : R=R+10 : RETURN |&280 F2=F2+1 : R=R+20 : RETURN |!281 F3=F3+1 : R=R+50 : RETURN |'282 REM NO OF SHIPS/SHEET RG@TINE|£283 REM —————————————————————————|=284 IF F 1<=10 THEN E2=1 ELSE E2=3|÷285 IF F3=E T HEN 313|k286 RETURN |<287 T=1 : R4=.1|;|
P185 ORACLE 185 Mon26 Apr ITV 1900:00 35819376GFSN0( KLINGON 35819376GFSN0( 288 IF F1>=10 THEN 289 ELSE E2=1 : RETUR N |:289 IF F2<=1 THEN E2=2 ELSE E2=3|929 0 IF E2=2 THEN T=1.2 : R4=.12|+291 IF F3 D THEN 313|h292 RE$RRN |9293  R4 =.12|-294 IF F1>=10 THEN 295 ELSE E2=1 : D PRN |4295 IF F2<=10 THEN E2=2 ELSE E 2=3|b296 IF E2=2 THEN T=1.7 : R4=.11|929 7 IF F3=E THEN 313|n298 RETURN |?299 T=2 : R4=.15|t300 IF 1>=10 THEN 301 ELSE E 2=1 : RE PRN ||301 IF F2<=15 THEN E2=2 E LSE E2=3|{302 IF E2=2 THEN 2.2 : R4=.2 303 IF F3=E THEN 313|b304 RETURN |3305 T=2.5 : R4=.3|x306 IF F1>=15 T@EN 307 E LSE E2=1 : @TURN |-307 IF F2<=20 THEN E 2=2 ELSE E2=3|}308 IF E2=2 THEN 2.2 : R4=.3||309 IF F3=E THEN 313|h310 RE PRN |0311 REM END OF SHEET RGPTINE| 312 REM ————————————————————|6313 F1=0 : F2=0 : F3=0 : E2=1 : J=30 : O=0 : F5=F5+E*1000| w314 FG -1 : ; CUR 12,10) RED DBLE " SHE ET ";E;" COMPLETED"|b|
P185 ORACLE 183 Mon26 Apr ITV 1900:01 35819376GFSN0( KLINGON 35819376GFSN0( 161 P1(K2)=.71*2*A2 KQKA K )*2|$162 P3(K2)=X : Q3(K2)=Y|=163 RE M P1,P2,Q1,Q2 ARE CENTRE POINTS OF EXPLO SION|r164 FGPOINT P1 K2)£X,Q1(K2)+Y : FGLINE X-@1(K2),Y-@1(K2)|$165 NEXT K2 |4 166 FOR K3=.1 TO N1/2 STEP N1'10|(167 FOR K2=0 TO 16|5168 P2(K2)=(P1(K2))" K1 K2)*N1/K3/15|g169 Q2 K2)=(Q1(K2)) *K1 K2)*N1/K3/11|f170 P1(K2)=P1(K2)+ P2 KQK Q1(K2)+Q2(K2)|.17 2 REM P2(K2) AND Q2 K2) GIVE EX@ASIO N SIZES|n173 FG OINT P1 K2+1)+X,Q1(K 2+1)+Y : FGLINE X-P1(K2),Y-Q1(K2)|=174 ON ERROR GOTO 234|1175 NEXT K2 |u17 6 NEXT K3 |7177 FOR V=0 TO 1000 : NEXT V |x178 ON E GOSUB 284,287 293,299,305|g1 79 REM E IS THE SHEET||180 JM GOSUB NO OF SHIPS REMAINING|,181 REM ———————————— ———————————————|z182 O=0 : J=30 : FG -1 8 FG 1 : GOTO 55183 REM SHIP FIRE BACK RGPTINE|-|