0 REM TO START, GOTO 1 STAR TREK 3.5 VIA SEATTLE TIMEX U/G MODIFICATIONS TO LONG RANGE SCAN, CLEAN UP OF DISPLAY AND SCORING SYSTEM BY ANTHONY WILLING
3 CLS
5 FAST
10 DIM S(8)
12 DIM M(8,8)
14 DIM D(8,8)
16 DIM K(88)
35 LET L9=0
36 LET C9=0
37 LET ZZZ=0
65 LET D1=INT ((INT (RND*1999)+2001)/10)*10
67 LET D4=D1
75 LET D3=INT (RND*20)+31
80 LET D2=D3+D1
85 LET K9=INT (RND*D3/3)+1+INT (D3/3)
87 LET K3=K9
90 FOR I=1 TO K9
95 LET X=INT (RND*8)+1
100 LET Y=INT (RND*8)+1
105 IF M(X,Y)>4 THEN GOTO 95
110 LET M(X,Y)=M(X,Y)+1
115 NEXT I
120 LET B9=INT (RND*10)+1
125 FOR I=1 TO B9
130 LET X=INT (RND*8)+1
135 LET Y=INT (RND*8)+1
140 IF M(X,Y)>15 THEN GOTO 130
145 LET M(X,Y)=M(X,Y)+10
150 NEXT I
155 LET S9=INT (RND*250)+1
160 FOR I=1 TO S9
165 LET X=INT (RND*8)+1
170 LET Y=INT (RND*8)+1
175 IF M(X,Y)>800 THEN GOTO 165
180 LET M(X,Y)=M(X,Y)+100
185 NEXT I
190 LET U1=INT (RND*8)+1
195 LET V1=INT (RND*8)+1
200 LET X1=INT (RND*8)+1
205 LET Y1=INT (RND*8)+1
210 LET P9=3000
220 LET T9=20
225 GOSUB 4350
230 GOSUB 550
232 GOSUB 510
233 INPUT K$
234 CLS
235 GOSUB 4095
240 GOSUB 2445
305 PRINT " COMMAND?"
310 INPUT I
315 IF I=0 THEN GOTO 375
320 IF I=1 THEN GOTO 390
325 IF I=2 THEN GOTO 405
330 IF I=3 THEN GOTO 415
335 IF I=4 THEN GOTO 435
340 IF I=5 THEN GOTO 455
342 IF I=6 THEN GOTO 465
360 PRINT "YOU ARE NOT CLEARED FOR THAT COMMAND"
370 GOTO 300
375 GOSUB 2005
380 GOSUB 4005
385 GOSUB 4225
388 GOTO 391
390 CLS
391 GOSUB 4095
395 GOSUB 2445
400 GOTO 305
405 CLS
406 GOSUB 2750
410 GOTO 305
415 GOSUB 2880
420 GOSUB 4005
425 GOSUB 4225
430 GOTO 305
435 GOSUB 3055
440 GOSUB 4005
445 GOSUB 4225
450 GOTO 305
455 CLS
456 GOSUB 3265
460 GOTO 305
465 GOSUB 6500
467 GOTO 305
500 STOP
510 CLS
511 PRINT " YOUR CHOICES OF COMMAND ARE:"
515 PRINT " 0 = SET COURSE"
520 PRINT " 1 = SHORT RANGE SENSOR SCAN"
525 PRINT " 2 = LONG RANGE SENSOR SCAN"
530 PRINT " 3 = FIRE PHASERS"
535 PRINT " 4 = FIRE PHOTON TORPEDOES"
537 PRINT " 5 = DAMAGE CONTROL REPORT"
540 PRINT " 6 = TRACKING SYSTEM REPORT"
541 PRINT
542 PRINT "SPOCK HERE; WE ARE READY SIR"
543 PRINT "THE SHIP IS EQUIPPED WITH A TEK SENSOR SCREEN ACTIVATE IT NOW"
544 PRINT "PRESS RETURN."
545 RETURN
550 PRINT "ORDERS; STARDATE = ";D1
552 PRINT
555 PRINT "AS COMMANDER OF THE UNITED STAR-SHIP ENTERPRISE, YOUR MISSION IS TO RID THE GALAXY OF THE DEADLY KLINGON MENACE. TO DO THIS YOU MUST DESTROY THE KLINGON INVASION FORCE OF ";K9,"BATTLE CRUISERS."
575 PRINT "YOU HAVE ";D3;" SOLAR DAYS TO COMP- LETE YOUR MISSION, (UNTIL","STARDATE ";D2;")"
585 PRINT "YOU HAVE ";B9;" SUPPORTING STARBASES WHEN THE ENTERPRISE DOCKS AT ONE(IS POSITIONED NEXT TO ONE) IT"
590 PRINT "IS RESUPPLIED WITH ENERGY AND PHOTON TORPEDOES."
615 PRINT "WE ARE CURRENTLY IN","QUADRANT ";U1;"-";V1,,"SECTOR ";X1;"-";Y1
617 PRINT
620 PRINT "PRESS RETURN TO START-CAPTAIN"
625 INPUT I$
627 CLS
630 RETURN
\n2005 PRINT "SULU HERE; WHAT COURSE CAPTAIN?"
\n2010 INPUT A
\n2015 LET A=A/57.3
\n2020 PRINT "WARP FACTOR (0-8)"
\n2025 INPUT B
\n2030 IF B<0 OR B>8 THEN GOTO 2005
\n2035 IF S(1)=0 OR B<=.5 THEN GOTO 2050
\n2040 PRINT "WARP DRIVE DAMAGED MAXIMUM IMPULSE .5"
\n2045 GOTO 2005
\n2050 LET P9=P9-100*B
\n2051 CLS
\n2052 IF P9<0 THEN GOTO 5050
\n2055 LET X0=X1
\n2060 LET Y0=Y1
\n2062 PRINT "SHIPS COURSE: QUADRANT, SECTOR"
\n2065 FOR I=1 TO 10*B+.1
\n2070 LET M=U1
\n2075 LET N=V1
\n2080 LET X=X0+SIN (A)
\n2085 LET Y=Y0+COS (A)
\n2090 IF X<=.5 THEN GOTO 2105
\n2095 IF X>8.5 THEN GOTO 2125
\n2100 GOTO 2140
\n2105 IF M<=1 THEN GOTO 2300
\n2110 LET M=M-1
\n2115 LET X=X+8
\n2120 GOTO 2140
\n2125 IF M>=8 THEN GOTO 2300
\n2130 LET M=M+1
\n2135 LET X=X-8
\n2140 IF Y<=.5 THEN GOTO 2155
\n2145 IF Y>8.5 THEN GOTO 2175
\n2150 GOTO 2190
\n2155 IF N<=1 THEN GOTO 2300
\n2160 LET N=N-1
\n2165 LET Y=Y+8
\n2170 GOTO 2190
\n2175 IF N>=8 THEN GOTO 2300
\n2180 LET N=N+1
\n2185 LET Y=Y-8
\n2190 LET U1=M
\n2195 LET V1=N
\n2200 LET M=INT (X+.5)
\n2205 LET N=INT (Y+.5)
\n2210 LET X0=X
\n2215 LET Y0=Y
\n2220 IF L9=10*U1+V1 THEN GOTO 2260
\n2225 LET X1=M
\n2230 LET Y1=N
\n2235 LET D1=D1+1
\n2240 IF D2-D1<1 THEN GOTO 5050
\n2245 GOSUB 4350
\n2250 LET P9=P9-100
\n2252 IF P9<0 THEN GOTO 5050
\n2255 GOTO 2285
\n2260 IF D(M,N)>1 THEN GOTO 2330
\n2265 LET D(X1,Y1)=0
\n2270 LET X1=M
\n2275 LET Y1=N
\n2280 LET D(X1,Y1)=1
\n2285 PRINT U1;" ";V1;" , ";X;" ";Y
\n2290 NEXT I
\n2292 INPUT I$
\n2293 CLS
\n2295 RETURN
\n2300 PRINT "ENTERPRISE HALTED AT ROMULON SPACE"
\n2305 RETURN
\n2310 LET D(I,J)=0
\n2315 LET M(U1,V1)=M(U1,V1)-1
\n2320 LET K(10*I+J)=0
\n2325 GOTO 3030
\n2330 IF D(M,N)=4 THEN GOTO 2350
\n2335 IF D(M,N)=3 THEN GOTO 2360
\n2340 IF D(M,N)=2 THEN GOTO 2370
\n2345 STOP
\n2350 CLS
\n2351 PRINT "ENTERPRISE IN STANDARD ORBIT OVER STAR."
\n2355 RETURN
\n2360 CLS
\n2361 PRINT "ENTERPRISE DOCKED AT STARBASE"
\n2365 RETURN
\n2370 CLS
\n2371 PRINT "***KLINGON RAMMED***"
\n2375 PRINT "WARP DRIVE DAMAGED IN COLLISION"
\n2380 LET K1=K1-1
\n2385 LET K9=K9-1
\n2390 IF K9<1 THEN GOTO 5000
\n2395 LET D(M,N)=0
\n2400 LET K(10*M+N)=0
\n2405 LET M(U1,V1)=M(U1,V1)-1
\n2410 LET S(1)=S(1)+4*RND
\n2415 LET D(X1,Y1)=0
\n2420 LET X1=M
\n2425 LET Y1=N
\n2430 LET D(M,N)=1
\n2435 RETURN
\n2445 IF S(2)=0 THEN GOTO 2470
\n2450 PRINT "*** S.R. SENSORS ARE OUT ***"
\n2455 GOTO 2475
\n2470 GOSUB 3365
\n2475 FOR J=8 TO 1 STEP -1
\n2477 PRINT TAB 6;
\n2480 IF S(2)>0 THEN GOTO 2555
\n2490 FOR I=1 TO 8
\n2495 IF D(I,J)=4 THEN PRINT " *";
\n2500 IF D(I,J)=0 THEN PRINT " :";
\n2505 IF D(I,J)=1 THEN PRINT " >";
\n2510 IF D(I,J)=2 THEN PRINT " £";
\n2515 IF D(I,J)=3 THEN PRINT " B";
\n2545 NEXT I
\n2547 PRINT " "
\n2550 NEXT J
\n2555 PRINT "STARDATE ";D1
\n2560 PRINT "QUADRANT ";U1;"-";V1,"SECTOR ";X1;"-";Y1
\n2565 PRINT "ENERGY ";P9,"TORPEDOES ";T9
\n2570 PRINT "KLINGONS ";K9
\n2575 PRINT "CONDITION ";
\n2580 IF C9=0 THEN PRINT "GREEN"
\n2585 IF C9=1 THEN PRINT "YELLOW"
\n2590 IF C9=2 THEN PRINT "RED"
\n2595 IF C9=3 THEN PRINT "DOCKED"
\n2600 PRINT "DAYS LEFT ";D2-D1
\n2725 LET A=4
\n2730 LET B=25
\n2735 GOSUB 3365
\n2740 RETURN
\n2750 IF S(3)=0 THEN GOTO 2765
\n2755 PRINT "*** L.R. SENSORS OUT ***"
\n2760 RETURN
\n2765 PRINT "L.R. SCAN OF QUADRANT ";U1;"-";V1
\n2785 GOSUB 3365
\n2790 FOR I=V1+1 TO V1-1 STEP -1
\n2795 PRINT TAB 8;"";
\n2800 FOR J=U1-1 TO U1+1
\n2805 IF I<1 OR I>8 THEN GOTO 2825
\n2815 IF J<1 OR J>8 THEN GOTO 2835
\n2820 GOTO 2845
\n2825 PRINT ":";"\##\##\##";":";"\##\##\##";":";"\##\##\##"
\n2830 GOTO 2860
\n2835 PRINT ":";"\##\##\##";
\n2840 GOTO 2858
\n2845 IF M(J,I)>=100 THEN GOTO 2847
\n2846 GOTO 2849
\n2847 PRINT ":";M(J,I);
\n2848 GOTO 2858
\n2849 IF M(J,I)>=10 THEN GOTO 2851
\n2850 GOTO 2853
\n2851 PRINT ":0";M(J,I);
\n2852 GOTO 2858
\n2853 IF M(J,I)<10 AND M(J,I)>0 THEN PRINT ":00";M(J,I);
\n2854 IF M(J,I)=0 THEN PRINT ":000";
\n2858 NEXT J
\n2859 PRINT
\n2860 GOSUB 3365
\n2865 NEXT I
\n2870 RETURN
\n2880 IF S(4)=0 THEN GOTO 2895
\n2885 PRINT "PHASOR CONTROL DAMAGED"
\n2890 RETURN
\n2895 IF K1>0 THEN GOTO 2910
\n2900 PRINT "?TARGET?"
\n2905 RETURN
\n2910 PRINT "PHASORS LOCKED ON TARGET"
\n2915 PRINT "ENERGY= ";P9
\n2920 PRINT "SULU; NUMBER OF FIRE CAPTAIN?"
\n2925 INPUT B
\n2926 CLS
\n2930 IF B<0 THEN GOTO 2920
\n2935 IF B>P9 THEN GOTO 2915
\n2940 LET P9=P9-B
\n2945 FOR I=1 TO 8
\n2950 FOR J=1 TO 8
\n2955 IF D(I,J)<>2 THEN GOTO 3030
\n2960 LET A=B/((I-X1)*(I-X1)+(J-Y1)*(J-Y1))
\n2965 LET K(I*10+J)=K(I*10+J)-A
\n2970 PRINT "KLINGON AT ";I;"-";J;" HIT ";A;", ";
\n2975 IF K(I*10+J)>0 THEN GOTO 3015
\n2980 PRINT "DESTROYED"
\n2985 LET K1=K1-1
\n2990 LET K9=K9-1
\n2995 IF K9<1 THEN GOTO 5000
\n3000 LET D(I,J)=0
\n3005 LET M(U1,V1)=M(U1,V1)-1
\n3010 GOTO 3030
\n3015 PRINT K(I*10+J);" UNITS LEFT"
\n3016 IF K(I*10+J)<5 THEN PRINT "SPOCK, THE KLINGON VESSEL AT";I;"-";J;" IS DRIFTING AND DISABLED"
\n3017 IF K(I*10+J)>5 AND K(I*10+J)<50 THEN GOSUB 6000
\n3019 IF K1<1 THEN RETURN
\n3020 IF S(7)<>0 THEN GOTO 3030
\n3024 LET ZZZ=1
\n3025 GOSUB 6530
\n3026 LET ZZZ=0
\n3030 NEXT J
\n3035 NEXT I
\n3040 IF P9<1 THEN GOTO 5050
\n3045 RETURN
\n3055 IF S(5)=0 THEN GOTO 3070
\n3060 PRINT "PHOTON TUBES OUT"
\n3065 RETURN
\n3070 IF T9>0 THEN GOTO 3085
\n3075 PRINT "TORPEDOE SUPPLY EXHAUSTED"
\n3080 RETURN
\n3085 PRINT "NUMBER OF TORPEDOES-MAX 5"
\n3087 INPUT NN
\n3088 IF K1=0 THEN LET Z=0
\n3089 PRINT "SPREAD FACTOR"
\n3090 INPUT D
\n3091 LET D=D/57.29
\n3092 PRINT "CENTER OF SPREAD"
\n3093 INPUT A
\n3094 LET ZZ=RND
\n3095 CLS
\n3096 IF K1>=3 THEN LET Z=RND
\n3097 IF K1=1 THEN LET Z=RND**10
\n3098 IF K1=2 THEN LET Z=RND**2
\n3099 IF ZZ<.5 THEN LET Z=-Z
\n3100 LET A=A/57.29+Z
\n3101 GOTO 3500
\n3102 LET T9=T9-1
\n3104 IF T9<.5 THEN GOTO 3075
\n3105 LET X=X1
\n3110 LET Y=Y1
\n3115 LET X=X+SIN (A)/2
\n3116 LET XX=X
\n3120 LET Y=Y+COS (A)/2
\n3121 LET YY=Y
\n3130 PRINT INT (X*10+.5)/10;"-";INT (Y*10+.5)/10
\n3132 PAUSE 25
\n3135 IF XX<1 OR XX>8 OR YY<1 OR YY>8 THEN GOTO 3250
\n3140 IF D(XX,YY)=2 THEN GOTO 3160
\n3145 IF D(XX,YY)=3 THEN GOTO 3200
\n3150 IF D(XX,YY)=4 THEN GOTO 3225
\n3155 GOTO 3115
\n3160 PRINT "***KLINGON DESTROYED***"
\n3162 INPUT A$
\n3163 CLS
\n3165 LET K1=K1-1
\n3170 LET K9=K9-1
\n3175 IF K9<1 THEN GOTO 5000
\n3180 LET D(XX,YY)=0
\n3185 LET M(U1,V1)=M(U1,V1)-1
\n3190 LET K(X*10+Y)=0
\n3195 RETURN
\n3200 PRINT "?STARBASE DESTROYED?"
\n3202 INPUT A$
\n3203 CLS
\n3205 LET B1=B1-1
\n3210 LET D(XX,YY)=0
\n3215 LET M(U1,V1)=M(U1,V1)-10
\n3220 RETURN
\n3225 PRINT "STAR DESTROYED"
\n3227 INPUT A$
\n3228 CLS
\n3230 LET S1=S1-1
\n3235 LET D(XX,YY)=0
\n3240 LET M(U1,V1)=M(U1,V1)-100
\n3245 RETURN
\n3250 PRINT "TORPEDO MISSED"
\n3252 INPUT A$
\n3253 CLS
\n3255 RETURN
\n3265 IF S(6)=0 THEN GOTO 3280
\n3270 PRINT "DAMAGE CONTROL NOT AVAILABLE"
\n3275 RETURN
\n3285 FOR A=1 TO 7
\n3290 GOSUB 3320
\n3295 PRINT " ";S(A)
\n3300 NEXT A
\n3305 RETURN
\n3315 LET A=INT (RND*7)+1
\n3320 IF A=1 THEN PRINT "WARP ENGINES ";
\n3325 IF A=2 THEN PRINT "S. R. SENSORS ";
\n3330 IF A=3 THEN PRINT "L. R. SENSORS ";
\n3335 IF A=4 THEN PRINT "PHASOR CONTROL ";
\n3340 IF A=5 THEN PRINT "PHOTON TORPEDOES ";
\n3345 IF A=6 THEN PRINT "DAMAGE CONTROL ";
\n3350 IF A=7 THEN PRINT "TRACKING SYSTEM ";
\n3355 RETURN
\n3365 PRINT " ----------------------"
\n3400 RETURN
\n3500 GOSUB 3102
\n3505 IF NN<=1 THEN RETURN
\n3510 LET A=A+D
\n3515 GOSUB 3102
\n3520 IF NN<=2 THEN RETURN
\n3525 LET A=A-2*D
\n3530 GOSUB 3102
\n3535 IF NN<=3 THEN RETURN
\n3540 LET A=A+D/2
\n3545 GOSUB 3102
\n3550 IF NN<=4 THEN RETURN
\n3555 LET A=A+D
\n3560 GOSUB 3102
\n3565 RETURN
\n4005 IF K1<1 THEN RETURN
\n4010 PRINT K1;" KLINGONS ATTACKING RED ALERT"
\n4015 FOR I=1 TO 8
\n4020 FOR J=1 TO 8
\n4022 IF D(I,J)<>2 THEN GOTO 4075
\n4025 LET B=INT (RND*K(I*10+J))+1
\n4030 LET A=B*10/((I-X1)*(I-X1)+(J-Y1)*(J-Y1))
\n4040 IF A<15 THEN GOTO 4075
\n4045 LET K(I*10+J)=K(I*10+J)-A
\n4050 LET P9=P9-A
\n4060 PRINT "ENTERPRISE HIT (";A;" UNITS) KLINGONS AT SECTOR ";I;"-";J
\n4070 IF P9<1 THEN GOTO 5050
\n4075 NEXT J
\n4080 NEXT I
\n4085 RETURN
\n4095 IF B1=0 THEN GOTO 4180
\n4100 FOR I=1 TO 8
\n4105 FOR J=1 TO 8
\n4110 IF D(I,J)<>3 THEN GOTO 4120
\n4115 IF SQR ((X1-I)*(X1-I)+(Y1-J)*(Y1-J))<1.5 THEN GOTO 4135
\n4120 NEXT J
\n4125 NEXT I
\n4130 GOTO 4180
\n4135 LET C9=3
\n4140 IF T9>20 THEN GOTO 4150
\n4145 LET T9=20
\n4150 IF P9>5000 THEN GOTO 4160
\n4155 LET P9=5000
\n4160 FOR I=1 TO 7
\n4165 LET S(I)=0
\n4170 NEXT I
\n4175 RETURN
\n4180 IF K1<1 THEN GOTO 4195
\n4185 LET C9=2
\n4190 RETURN
\n4195 IF P9>1000 THEN GOTO 4210
\n4200 LET C9=1
\n4205 RETURN
\n4210 LET C9=0
\n4215 RETURN
\n4225 LET A=RND
\n4230 IF A<.4 THEN RETURN
\n4235 IF A<.5 THEN GOTO 4290
\n4240 IF A<.9 AND K1<>0 THEN GOTO 4265
\n4242 IF A<.95 THEN RETURN
\n4245 PRINT "*** SOLAR STORM ***"
\n4250 IF C9<>3 THEN GOTO 4270
\n4255 PRINT "STARBASE SHIELDS PROTECT SHIP**"
\n4260 RETURN
\n4265 PRINT "BATTLE DAMAGE"
\n4266 IF K1<1 THEN RETURN
\n4270 GOSUB 3315
\n4275 PRINT " DAMAGED"
\n4280 LET S(A)=S(A)+4*RND
\n4285 RETURN
\n4290 FOR A=1 TO 7
\n4295 IF S(A)<>0 THEN GOTO 4310
\n4300 NEXT A
\n4305 RETURN
\n4310 PRINT "CAPTAIN, SCOTTY HERE",
\n4315 GOSUB 3320
\n4320 PRINT "STATE OF REPAIR IMPROVED"
\n4325 LET S(A)=S(A)-5*RND
\n4330 IF S(A)>0 THEN GOTO 4340
\n4335 LET S(A)=0
\n4340 RETURN
\n4350 IF L9<>U1*10+V1 THEN GOTO 4360
\n4352 RETURN
\n4360 LET L9=U1*10+V1
\n4365 GOSUB 4500
\n4370 FOR K=1 TO 8
\n4375 FOR L=1 TO 8
\n4380 LET D(K,L)=0
\n4385 NEXT L
\n4390 NEXT K
\n4395 LET D(X1,Y1)=1
\n4400 LET J=S1
\n4405 LET B=4
\n4410 GOSUB 4455
\n4415 LET J=B1
\n4420 LET B=3
\n4425 GOSUB 4455
\n4430 LET B=2
\n4435 FOR K=1 TO K1
\n4437 GOSUB 4470
\n4440 LET K(U*10+V)=INT (RND*300)+151
\n4445 NEXT K
\n4450 RETURN
\n4455 FOR K=1 TO J
\n4460 GOSUB 4470
\n4465 NEXT K
\n4466 RETURN
\n4470 LET U=INT (RND*8)+1
\n4475 LET V=INT (RND*8)+1
\n4480 IF D(U,V)<>0 THEN GOTO 4470
\n4485 LET D(U,V)=B
\n4490 RETURN
\n4500 LET K1=M(U1,V1)
\n4505 LET S1=INT (K1/100)
\n4510 LET K1=K1-S1*100
\n4515 LET B1=INT (K1/10)
\n4520 LET K1=K1-B1*10
\n4525 RETURN
\n4530 PRINT "BATTLE ALARM"
\n4535 RETURN
\n5000 CLS
\n5001 PRINT "IT IS STARDATE ";D1
\n5005 PRINT "THE KLINGONS HAVE BEEN DESTROYED"
\n5010 PRINT "THE FEDERATION IS SAVED"
\n5015 PRINT "YOU ARE A HERO, CAPTAIN"
\n5020 PRINT "YOUR EFFICIENCY RATING IS ",,, 1000*(K3/(D1-D4))/B9
\n5021 PRINT
\n5022 PRINT "KILLS=";K3,"DAYS=";D1-D4
\n5035 STOP
\n5050 CLS
\n5051 PRINT "IT IS STARDATE ";D1
\n5055 IF D2-D1<1 THEN GOTO 5070
\n5060 PRINT "THE ENTERPRISE ENERGY BANKS ARE DEAD"
\n5065 GOTO 5080
\n5070 PRINT "TIME HAS RUN OUT FOR YOU"
\n5080 PRINT "THE ENTERPRISE IS DESTROYED"
\n5085 PRINT "THERE ARE STILL ";K9;" KLINGON BATTLE CRUISERS LEFT"
\n5090 PRINT "ITS COOKIES CAPTAIN"
\n5100 STOP
\n6000 PRINT "A KLINGON SHIP IS WARPING OUT OF THIS QUADRANT"
\n6010 LET K(I*10+J)=0
\n6020 LET D(I,J)=0
\n6030 LET K1=K1-1
\n6040 LET M(U1,V1)=M(U1,V1)-1
\n6050 LET ZX=RND
\n6060 IF ZX<.5 THEN LET ZX=-1
\n6061 IF ZX<.5 THEN GOTO 6070
\n6062 LET ZX=1
\n6070 LET ZY=RND
\n6080 IF ZY<.5 THEN LET ZY=-1
\n6081 IF ZY<.5 THEN GOTO 6086
\n6082 LET ZY=1
\n6086 LET XX=INT (ZX+U1)
\n6087 LET YY=INT (ZY+V1)
\n6090 IF XX>8.5 OR YY>8.5 OR XX<.5 OR YY<.5 THEN GOTO 6050
\n6100 LET M(XX,YY)=M(XX,YY)+1
\n6110 RETURN
\n6500 IF S(7)=0 THEN GOTO 6504
\n6502 PRINT "TRACKING SYSTEM NOT FUNCTIONAL"
\n6503 RETURN
\n6504 IF K1>=1 THEN GOTO 6509
\n6505 PRINT "?TARGET?"
\n6506 RETURN
\n6509 FOR I=1 TO 8
\n6510 FOR J=1 TO 8
\n6520 IF D(I,J)<>2 THEN GOTO 6590
\n6530 LET DD=57.29*ATN ((I-X1)/(J-Y1)+1E-8)
\n6540 IF (I-X1)>=0 AND (J-Y1)<=0 OR (I-X1)<=0 AND (J-Y1)<=0 THEN LET DD=DD+180
\n6560 IF (I-X1)<=0 AND (J-Y1)>=0 THEN LET DD=DD+360
\n6570 PRINT " TRACKING KLINGON AT ";DD
\n6580 IF ZZZ=1 THEN GOTO 6700
\n6590 NEXT J
\n6595 NEXT I
\n6700 RETURN
\n6750 STOP
\n6760 REM RAND USR 14336
\n6770 REM SAVE "TREK35.B1"
\n6775 SAVE "1021%7"
\n6780 GOTO 1
\n7000 REM ORIGINAL PROGRAM FROM
\n7005 REM SEATTLE TIMEX USER
\n7010 REM GROUP (SEATUG).
\n7015 REM MODIFICATIONS WERE
\n7020 REM IMPROVING LONG RANGE
\n7025 REM SCAN, NUMERICAL SCORE
\n7030 REM SYSTEM, AND CLEANING
\n7035 REM UP SCREEN DISPLAY.