10  COM A$[20],B$[20],C$[20],M$[20],N$[20],O$[20],P$[20]
12  COM Q$[20],R$[20],S$[20],V$[20],X$[72],Y$[72],Z$[72]
14  COM A[50],B[50],C[50],D[50],E[50],F[50],G[10],H[10],I[50],J[50]
16  COM K[50],L[50],M[10,6],N[10,4],O[10],P[10],Q[10,4],R[10,4]
18  COM S[10,8],T[10,9],U[10,6],V[10,6],W[10],X[50],Y[50],Z[10,10]
20  COM A,D1,D2,I,I1,I2,K1,K2,K3,K4,N,N1,N2,O,O1,O2,P1,P2,P3,P4
22  COM T0,T1,T2,T3,T4,T5,T6,T7,T8,T9
23  REM
24  REM *** CHAIN TO TREK1,TREK2,TREK3,TREK4,TREK0  2-DEC-78 A. DE MARTINO
25  REM *** IN A100 ***
26  REM    TREK73:  AN ADVANCED STAR TREK BATTLE SIMULATION
28  REM  PROGRAMMED BY WILLIAM K. CHAR AND ASSOCIATES, WILSON
30  REM  EDP, 400 MANSELL, SAN FRAN, CA 94134, (415) 239-6460
32  REM  26 NOVEMBER 1973 ***FOR AUTHORIZED PERSONNEL ONLY***
34  REM
36  DEF FNA()=*.0174533
38  DEF FNB()=*57.2958
40  DEF FNC()=-INT(*.00277778)*360
42  DEF FNR()=INT(*RND(1))+1
44  REM
110  T0=1
120  T1=T0*2
130  T2=T1*2
140  T3=T2*2
150  T4=T3*2
160  T5=T4*2
170  T6=T5*2
180  T7=T6*2
190  T8=T7*2
200  T9=T8*2
210  PRINT "HAVE YOU SEEN BATTLE BEFORE [ YES OR NO ]";
220  INPUT N$
230  IF N$[1,1]="Y" THEN 520
240  T3=T7
520  PRINT '14'14'14'14'14"CAPTAIN:  MY LAST NAME IS ";
530  ENTER T5,T,N$
540  PRINT 
550  IF LEN(N$)=0 THEN 520
560  L=0
570  IF N$[1,1]#"*" THEN 670
580  N$=N$[2]
590  L=1
670  PRINT N$":  MY SEX IS ";
680  ENTER T4,T,X$
690  PRINT 
700  O$="SIR"
710  IF X$[1,1]="M" THEN 800
720  O$="MISS"
730  IF X$[1,1]="F" THEN 800
740  GOTO FNR(3) OF 750,770,790
750  O$="FAG"
760  GOTO 800
770  O$="FAIRY"
780  GOTO 800
790  O$="FRUIT"
800  PRINT "   I'M EXPECTING [1-9]   ENEMY VESSELS."LIN(0);TAB(23);
810  ENTER T4,T,A
820  PRINT 
830  IF T<0 THEN 850
840  IF A=INT(A) AND A>0 AND A<10 THEN 900
850  PRINT "UHURA:  "O$", STARFLEET COMMAND REPORTS THAT IT CAN ONLY"
860  PRINT "   BE FROM 1 TO 9.  TRY AGAIN."
870  PRINT N$":  CORRECT, LIEUTENANT--JUST TESTING YOUR ATTENTION."
880  GOTO 800
890  REM  (ENEMY VESSELS)
900  N=A+1
910  MAT I=ZER
920  FOR I=1 TO 10
930  I[I]=I
940  NEXT I
950  REM  (SCRAMBLE NAMES)
960  FOR I=2 TO 9
970  K=FNR(11-I)+I-1
980  X=I[I]
990  I[I]=I[K]
1000  I[K]=X
1010  NEXT I
1020  FOR I=N+1 TO 10
1030  I[I]=0
1040  NEXT I
1050  REM  (SELECT FEDERATION VESSELS)
1060  RESTORE 1070
1070  DATA "CONSTITUTION","ENTERPRISE","EXETER","HORNET","INDEPENDENCE"
1080  DATA "LEXINGTON","MERRIMAC","POTEMKIN","REPUBLIC","TRENTON"
1090  DATA "WASP","YORKTOWN"
1100  FOR I=1 TO FNR(12)
1110  READ P$
1120  NEXT I
1130  REM  (SELECT ENEMY NATIONS)
1140  RESTORE 1150
1150  DATA "ARCTURIAN","CENTURIAN","KLINGON","ROMULAN","ORION"
1160  FOR I=1 TO FNR(5)
1170  READ R$
1180  NEXT I
1190  REM  (SELECT ENEMY CAPTAINS)
1200  RESTORE 1210
1210  DATA "BOLAK","KANG","KOLOTH","KOR","KORAX","KRULIX","QUARLO","TOWL"
1220  DATA "T'PAU","TROBLAK"
1230  FOR I=1 TO FNR(10)
1240  READ S$
1250  NEXT I
1260  IF L THEN 2030
1270  PRINT 
1280  PRINT "SPACE, THE FINAL FRONTIER."
1290  PRINT "THESE ARE THE VOYAGES OF THE STARSHIP "P$"."
1300  PRINT "ITS FIVE YEAR MISSION:  TO EXPLORE STRANGE NEW WORLDS,"
1310  PRINT "TO SEEK OUT NEW LIFE AND NEW CIVILIZATIONS,"
1320  PRINT "TO BOLDLY GO WHERE NO MAN HAS GONE BEFORE!"
1330  PRINT 
1340  PRINT TAB(20)"S T A R   T R E K"
1350  PRINT 
1360  PRINT "CAPTAIN "N$":  CAPTAIN'S LOG, STARDATE "TIM(1)+TIM(0)/100
1370  REM  (SELECT MISSIONS)
1380  RESTORE 1390
1390  DATA " WE ARE ACTING IN RESPONSE TO A PRIORITY 1 DISTRESS CALL FROM"
1400  DATA "SPACE STATION K7."
1410  DATA " WE ARE ORBITING GAMMA 2 TO MAKE A ROUTINE CHECK OF AUTOMATIC"
1420  DATA "COMMUNICATIONS AND ASTROGATION STATIONS."
1430  DATA " WE ARE ON COURSE FOR EPSILON CANARES 3 TO TREAT COMMISSIONER"
1440  DATA "HEADFORD FOR SUKARO'S DISEASE."
1450  DATA " WE HAVE BEEN ASSIGNED TO TRANSPORT FEDERATION AMBASSADORS"
1460  DATA "TO THE PLANET CONFERENCE, CODE NAMED BABEL, ON TELLERITE"
1470  DATA "ANDOREAN."
1480  DATA " OUR MISSION IS TO INVESTIGATE A FIND OF TRITANIUM ON BETA 7."
1490  DATA " WE ARE ORBITING RIGEL 4 FOR THERAPEUTIC SHORE LEAVE."
1500  DATA " WE ARE ORBITING SIGMA IOTA 2 TO STUDY THE EFFECTS OF"
1510  DATA "CONTAMINATION UPON A DEVELOPING CULTURE."
1520  DATA " WE HAVE ALTERED COURSE FOR A RESCUE MISSION IN THE GAMMA 7A"
1530  DATA "SYSTEM."
1540  DATA " WE ARE PRESENTLY ON COURSE FOR ALTAIR 6 TO ATTEND INAUGURATION"
1550  DATA "CEREMONIES ON THAT PLANET."
1560  DATA " WE ARE ON A CARTEGRAPHIC MISSION TO POLEX 9."
1570  DATA " WE ARE HEADED FOR MALURIAN IN RESPONSE TO A DISTRESS CALL"
1580  DATA "FROM THAT SYSTEM."
1590  DATA " WE ARE TO NEGOTIATE A TREATY TO MINE DILITHIUM CRYSTALS FROM"
1600  DATA "THE HAULKINS."
1610  DATA " WE ARE TO INVESTIGATE STRANGE SENSOR READINGS REPORTED BY A"
1620  DATA "SCOUTSHIP INVESTIGATING GAMMA TRIANGULA 6."
1630  DATA " WE ARE HEADED FOR PLANETS L370 AND L374 TO INVESTIGATE THE"
1640  DATA "DISAPPEARANCE OF THE STARSHIP CONSTELLATION IN THAT VICINITY"
1650  DATA " WE ARE ORDERED, WITH A SKELETON CREW, TO PROCEDE TO SPACE"
1660  DATA "STATION K2 TO TEST DR. RICHARD DAYSTROM'S COMPUTER M-5."
1670  DATA " WE HAVE ENCOUNTERED DEBRIS FROM THE SS BEAGLE AND ARE"
1680  DATA "PROCEEDING TO INVESTIGATE."
1690  DATA " WE ARE ON COURSE FOR EKOS TO LOCATE JOHN GUILD."
1700  DATA " WE ARE TO DIVERT AN ASTEROID FROM DESTROYING AN INHABITED"
1710  DATA "PLANET."
1720  DATA " WE ARE RESPONDING TO A DISTRESS CALL FROM THE SCIENTIFIC"
1730  DATA "EXPEDITION ON TRIACUS."
1740  DATA " WE HAVE BEEN ASSIGNED TO TRANSPORT THE MEDUSAN AMBASSADOR TO"
1750  DATA "TO HIS HOME PLANET."
1760  DATA " ***END OF MISSIONS***"
1770  FOR I=1 TO FNR(20)
1780  READ X$
1790  IF X$[1,1]=" " THEN 1810
1800  GOTO 1780
1810  NEXT I
1820  PRINT "  "X$
1830  READ X$
1840  IF X$[1,1]=" " THEN 1870
1850  PRINT "   ";X$
1860  GOTO 1830
1870  X$="A23456789"
1880  X$=X$[A,A]
1890  Y$=""
1900  IF A=1 THEN 1920
1910  Y$="S"
1920  PRINT "SULU:  "O$", I'M PICKING UP "X$" VESSEL"Y$" ON INTERCEPTION"
1930  PRINT "   COURSE"Y$" WITH THE "P$"."
1940  X$="IT"
1950  Z$="A "
1960  IF A=1 THEN 1990
1970  X$="THEM"
1980  Z$=""
1990  PRINT "SPOCK:  SENSORS IDENTIFY "X$" AS "Z$;R$" BATTLE"
2000  PRINT "   CRUISER"Y$", PROBABLY UNDER THE COMMAND OF CAPTAIN "S$"."
2010  PRINT N$":  SOUND GENERAL QUARTERS, LIEUTENANT!"
2020  PRINT "UHURA:  AYE, "O$"!"
2030  PRINT '14"COMPUTER:  THE "R$"S ARE ATTACKING THE "P$" WITH THE"
2040  PRINT "  ";
2050  FOR I=2 TO N
2060  V=I[I]
2070  GOSUB 9050
2080  PRINT " "V$;
2090  IF I=N THEN 2140
2100  IF A<3 THEN 2130
2110  PRINT ",";
2120  IF I+1<N THEN 2140
2130  PRINT " AND THE";
2140  NEXT I
2150  PRINT "."
2160  REM          ----- MAJOR INITIALIZATIONS -----
2170  D1=.2
2180  I1=N
2190  I2=50
2200  K1=4
2210  K2=6
2220  O1=O2=P1=P2=P3=P4=0
2230  MAT A=ZER
2240  MAT B=ZER
2250  MAT C=ZER
2260  MAT D=ZER
2270  MAT E=ZER
2280  MAT F=ZER
2290  MAT G=ZER
2300  MAT H=ZER
2310  MAT J=ZER
2320  MAT K=ZER
2330  MAT L=ZER
2340  MAT M=ZER
2350  MAT N=ZER
2360  MAT O=ZER
2370  MAT P=ZER
2380  MAT Q=ZER
2390  MAT R=ZER
2400  MAT S=ZER
2410  MAT T=ZER
2420  MAT U=ZER
2430  MAT V=ZER
2440  MAT W=ZER
2450  MAT X=ZER
2460  MAT Y=ZER
2470  MAT Z=ZER
2480  FOR I=1 TO I1
2490  A[I]=B[I]=1
2500  C[I]=D[I]=FNR(360)
2510  E[I]=.75
2520  F[I]=150
2530  H[I]=200
2540  G[I]=10
2550  J[I]=1
2560  FOR K=1 TO K1
2570  Q[I,K]=10
2580  R[I,K]=10
2590  NEXT K
2600  M[I,K1+1]=10
2610  M[I,K1+2]=100
2620  N[I,1]=90
2630  N[I,4]=270
2640  T[I,K2+1]=12
2650  T[I,K2+2]=10
2660  T[I,K2+3]=200
2670  U[I,1]=120
2680  U[I,2]=60
2690  U[I,5]=300
2700  U[I,6]=240
2710  FOR K=1 TO 4
2720  S[I,K]=1
2730  S[I,K+4]=100
2740  NEXT K
2750  R=4300+FNR(500)
2760  B=FNA(FNR(360))
2770  X[I]=R*COS(B)
2780  Y[I]=R*SIN(B)
2790  Z[I,6]=350
2800  NEXT I
2810  REM  (FEDERATION EXCEPTIONS)
2820  C[1]=D[1]=0
2830  E[1]=1
2840  J[1]=0
2850  X[1]=Y[1]=0
2860  Z[1,6]=450
2870  I=0
2880  CHAIN "TREK0.A100"
9050  REM          ----- NAME SELECTION SUBROUTINE -----
9052  RESTORE 9054
9054  DATA "BISMARK","CENTAUR","DRADDOCK","FORBIN","KREIGER","SHLURG"
9056  DATA "TRAKKA","VARNOR","WARRIOR"
9058  IF V>1 THEN 9064
9060  V$=P$
9062  RETURN 
9064  FOR V2=2 TO V
9066  READ V$
9068  NEXT V2
9070  RETURN 
9999  END 
