1000 DIM D(5),K1(7),K2(7),K3(7),S(7,7),Q(7,7),D$(5)
1010 Q$='.EKB*'
1020 D$(0)='WARP ENGINES'
1030 D$(1)='SHORT RANGE SENSORS'
1040 D$(2)='LONG RANGE SENSORS'
1050 D$(3)='PHASERS'
1060 D$(4)='PHOTON TORPEDOES':D$(5)='GALACTIC RECORDS'
1070 INPUT'PLEASE ENTER A RANDOM NUMBER';E$:I=ASC(E$)
1080 I=I-11*INT(I/11):FOR J=0 TO I:K=RND(1):NEXT:PRINT'WORKING-'
1090 DEF FND(N)=SQR((K1(I)-S1)^2+(K2(I)-S2)^2)
1100 GOSUB 1600:GOSUB 1440:Q1=X:Q2=Y:X=8:Y=1:X1=.2075:Y1=6.28:X2=3.28
1110 Y2=1.8:A=.96:C=100:W=10:K9=0:B9=0:S9=400:T9=3451:GOTO 1130
1120 K=K+(N<X2)+(N<Y2)+(N<.28)+(N<.08)+(N<.03)+(N<.01):K9=K9-K:GOTO 1150
1130 T0=3421:T=T0:E0=4000:E=E0:P0=10:P=P0:FOR I=0 TO 7
1140 FOR J=0 TO 7:K=0:N=RND(Y):IF N<X1 THEN N=N*64:K=(N<Y1)-Y:GOTO 1120
1150 B=(RND(Y)>A):B9=B9-B:Q(I,J)=K*C+B*W-INT(RND(Y)*X+Y):NEXT J,I
1160 IF K9>(T9-T0) THEN T9=T0+K9
1170 IF B9>0 THEN 1190
1180 GOSUB 1440:Q(X,Y)=Q(X,Y)-10:B9=1
1190 PRINT LEFT$('STARTREK ADAPTED BY L.E.COCHRAN 2/29/76',8):K0=K9
1200 PRINT'OBJECTIVE: DESTROY';K9;'KLINGON BATTLE CRUISERS IN';T9-T0;
1210 PRINT'YEARS.':PRINT' THE NUMBER OF STARBASES IS';B9
1220 A=0:IF Q1<0 OR Q1>7 OR Q2<0 OR Q2>7 THEN N=0:S=0:K=0:GOTO 1240
1230 N=ABS(Q(Q1,Q2)):Q(Q1,Q2)=N:S=N-INT(N/10)*10:K=INT(N/100)
1240 B=INT(N/10-K*10):GOSUB 1440:S1=X:S2=Y
1250 FOR I=0 TO 7:FOR J=0 TO 7:S(I,J)=1:NEXT J,I:S(S1,S2)=2
1260 FOR I=0 TO 7:K3(I)=0:X=8:IF I<K THEN GOSUB 1450:S(X,Y)=3:K3(I)=S9
1270 K1(I)=X:K2(I)=Y:NEXT:I=S
1280 IF B>0 THEN GOSUB 1450:S(X,Y)=4
1290 IF I>0 THEN GOSUB 1450:S(X,Y)=5:I=I-1:GOTO 1290
1300 GOSUB 1540:IF A=0 THEN GOSUB 1470
1310 IF E<=0 THEN 2380
1320 I=1:IF D(I)>0 THEN 1610
1330 FOR I=0 TO 7:FOR J=0 TO 7:PRINT MID$(Q$,S(I,J),1);' ';:NEXT J
1340 PRINT' ';:ON I GOTO 1370,1380,1390,1400,1410,1420,1430
1350 PRINT'YEARS =';T9-T
1360 NEXT:GOTO 1640
1370 PRINT'STARDATE=';T:GOTO 1360
1380 PRINT'CONDITION: ';C$:GOTO 1360
1390 PRINT'QUADRANT=';Q1+1;'-';Q2+1:GOTO 1360
1400 PRINT'SECTOR =';S1+1;'-';S2+1:GOTO 1360
1410 PRINT'ENERGY=';E:GOTO 1360
1420 PRINT D$(4);'=';P:GOTO 1360
1430 PRINT'KLINGONS LEFT=';K9:GOTO 1360
1440 X=INT(RND(1)*8):Y=INT(RND(1)*8):RETURN
1450 GOSUB 1440:IF S(X,Y)>1 THEN 1450
1460 RETURN
1470 IF K<1 THEN RETURN
1480 IF C$='DOCKED' THEN PRINT'STARBASE PROTECTS ENTERPRISE':RETURN
1490 FOR I=0 TO 7:IF K3(I)<=0 THEN NEXT:RETURN
1500 H=K3(I)*.4*RND(1):K3(I)=K3(I)-H:H=H/(FND(0)^.4):E=E-H
1510 E$='ENTERPRISE FROM':N=E:GOSUB 1520:NEXT:RETURN
1520 PRINT H;'UNIT HIT ON ';E$;' SECTOR';K1(I)+1;'-';K2(I)+1;
1530 PRINT' (';N;'LEFT)':RETURN
1540 FOR I=S1-1 TO S1+1:FOR J=S2-1 TO S2+1
1550 IF I<0 OR I>7 OR J<0 OR J>7 THEN 1570
1560 IF S(I,J)=4 THEN C$='DOCKED':E=E0:P=P0:GOSUB 1600:RETURN
1570 NEXT J,I:IF K>0 THEN C$='RED':RETURN
1580 IF E<E0*.1 THEN C$='YELLOW':RETURN
1590 C$='GREEN':RETURN
1600 FOR N=0 TO 5:D(N)=0:NEXT:RETURN
1610 PRINT D$(I);' DAMAGED.';
1620 PRINT' ';D(I);'YEARS ESTIMATED FOR REPAIR.':PRINT
1630 IF A=1 THEN RETURN
1640 INPUT'COMMAND';A
1650 IF A<1 OR A>6 THEN 1670
1660 ON A GOTO 1700,1300,2260,2150,1680,2310
1670 FOR I=0 TO 5:PRINT I+1;'= ';D$(I):NEXT:GOTO 1640
1680 IF D(4)>0 THEN PRINT'SPACE CRUD BLOCKING TUBES.';:I=4:GOTO 1620
1690 N=15:IF P<1 THEN PRINT'NO TORPEDOES LEFT':GOTO 1640
1700 IF A=5 THEN PRINT'TORPEDO ';
1710 INPUT 'COURSE (IN DEGREES)';C: IF C=0 THEN C=360
1720 IF C<0 THEN 1640
1730 IF C>360 THEN 1700
1740 C=(((450-C)MOD 360)+45)/45: PRINT 'TRANSLATES TO 'C
1750 IF A=5 THEN P=P-1:PRINT'TRACK:';:GOTO 1910
1760 INPUT'WARP (0-12)';W:IF W<=0 OR W>12 THEN 1700
1770 IF W<=.2 OR D(0)<=0 THEN 1790
1780 I=0:PRINT D$(I);' DAMAGED, MAX IS .2 ';:GOSUB 1620:GOTO 1760
1790 GOSUB 1470:IF E<=0 THEN 2380
1800 IF RND(1)>.25 THEN 1880
1810 X=INT(RND(1)*6):IF RND(1)>.5 THEN 1840
1820 D(X)=D(X)+INT(6-RND(1)*5):PRINT'**SPACE STORM, ';
1830 PRINT D$(X);' DAMAGED**':I=X:GOSUB 1620:D(X)=D(X)+1:GOTO 1880
1840 FOR I=X TO 5:IF D(I)>0 THEN 1870
1850 NEXT
1860 FOR I=0 TO X:IF D(I)<=0 THEN NEXT:GOTO 1880
1870 D(I)=.5:PRINT'**SPOCK USED A NEW REPAIR TECHNIQUE**'
1880 FOR I=0 TO 5:IF D(I)=0 THEN 1900
1890 D(I)=D(I)-1:IF D(I)<=0 THEN D(I)=0:PRINT D$(I);' ARE FIXED!'
1900 NEXT:N=INT(W*8):E=E-N-N+.5:T=T+1:S(S1,S2)=1
1910 Y1=S1+.5:X1=S2+.5:IF T>T9 THEN 2380
1920 Y=(C-1)*.785398:X=COS(Y):Y=-SIN(Y)
1930 FOR I=1 TO N:Y1=Y1+Y:X1=X1+X:Y2=INT(Y1):X2=INT(X1)
1940 IF X2<0 OR X2>7 OR Y2<0 OR Y2>7 THEN 2120
1950 IF A=5 THEN PRINT Y2+1;'-';X2+1,
1960 IF S(Y2,X2)=1 THEN NEXT:GOTO 2070
1970 PRINT:IF A=1 THEN PRINT'BLOCKED BY ';
1980 ON S(Y2,X2)-3 GOTO 2050,2030
1990 PRINT'KLINGON';:IF A=1 THEN 2060
2000 FOR I=0 TO 7:IF Y2<>K1(I) THEN 2020
2010 IF X2=K2(I) THEN K3(I)=0
2020 NEXT:K=K-1:K9=K9-1:GOTO 2080
2030 PRINT'STAR';:IF A=5 THEN S=S-1:GOTO 2080
2040 GOTO 2060:2L29E76C
2050 PRINT'STARBASE';:IF A=5 THEN B=2:GOTO 2080
2060 PRINT' AT SECTOR';Y2+1;'-';X2+1:Y2=INT(Y1-Y):X2=INT(X1-X)
2070 S1=Y2:S2=X2:S(S1,S2)=2:A=2:GOTO 1300
2080 PRINT' DESTROYED!';:IF B=2 THEN B=0:PRINT'. . .GOOD WORK!#';
2090 PRINT:S(Y2,X2)=1:Q(Q1,Q2)=K*100+B*10+S:IF K9<1 THEN 2410
2100 GOSUB 1470:IF E<=0 THEN 2380
2110 GOSUB 1540:GOTO 1640
2120 IF A=5 THEN PRINT'MISSED!':GOTO 2100
2130 Q1=INT(Q1+W*Y+(S1+.5)/8):Q2=INT(Q2+W*X+(S2+.5)/8)
2140 Q1=Q1-(Q1<0)+(Q1>7):Q2=Q2-(Q2<0)+(Q2>7):GOTO 1220
2150 I=3:IF D(I)>0 THEN 1610
2160 INPUT'PHASERS READY: ENERGY UNITS TO FIRE';X:IF X<=0 THEN 1640
2170 IF X>E THEN PRINT'ONLY GOT';E:GOTO 2160
2180 E=E-X:Y=K:FOR I=0 TO 7:IF K3(I)<=0 THEN 2240
2190 H=X/(Y*(FND(0)^.4)):K3(I)=K3(I)-H
2200 E$='KLINGON AT':N=K3(I):GOSUB 1520
2210 IF K3(I)>0 THEN 2240
2220 PRINT'**KLINGON DESTROYED**'
2230 K=K-1:K9=K9-1:S(K1(I),K2(I))=1:Q(Q1,Q2)=Q(Q1,Q2)-100
2240 NEXT:IF K9<1 THEN 2410
2250 GOTO 2100
2260 I=2:IF D(I)>0 THEN 1610
2270 PRINT D$(I);' FOR QUADRANT';Q1+1;'-';Q2+1
2280 FOR I=Q1-1 TO Q1+1:FOR J=Q2-1 TO Q2+1:PRINT' ';
2290 IF I<0 OR I>7 OR J<0 OR J>7 THEN PRINT'***';:GOTO 2360
2300 Q(I,J)=ABS(Q(I,J)):GOTO 2350
2310 I=5:IF D(I)>0 THEN 1610
2320 PRINT'CUMULATIVE GALACTIC MAP FOR STARDATE';T
2330 FOR I=0 TO 7:FOR J=0 TO 7:PRINT' ';
2340 IF Q(I,J)<0 THEN PRINT'***';:GOTO 2360
2350 E$=STR$(Q(I,J)):E$='00'+MID$(E$,2):PRINT RIGHT$(E$,3);
2360 NEXT J:PRINT:NEXT I:GOTO 1640
2370 PRINT:PRINT'IT IS STARDATE';T:RETURN
2380 GOSUB 2370:PRINT'THANKS TO YOUR BUNGLING, THE FEDERATION WILL BE'
2390 PRINT'CONQUERED BY THE REMAINING';K9;'KLINGON CRUISERS!'
2400 PRINT'YOU ARE DEMOTED TO CABIN BOY!':GOTO 2440
2410 GOSUB 2370:PRINT'THE FEDERATION HAS BEEN SAVED!'
2420 PRINT'YOU ARE PROMOTED TO ADMIRAL':PRINT K0;'KLINGONS IN';
2430 PRINT T-T0;'YEARS. RATING=';INT(K0/(T-T0)*1000)
2440 INPUT'TRY AGAIN';E$:IF LEFT$(E$,1)='Y' THEN 1100
Zerothis - 2006-12-20 08:28:02 - official description - source
DISCLAIMER: All image galleries, logos and names are property of the respective authors - This site doesn't make use nor permits the download of copyrighted material such as ISO, game roms, software, music, movies or similar. The site is primarily based on reviews, screenshots and various game details. - Please contact me if you believe your work has been used in a way that may constitute copyright infringement.