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