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  DEF FNA()=*.0174533
180  DEF FNB()=*57.2958
190  DEF FNC()=-INT(*.00277778)*360
200  DEF FNR()=INT(*RND(1))+1
210  REM
220  GOTO O-20 OF 230,380,520,720,1180,1310,1410,1710,1880,2220
230  REM  ----- (21) JETTISON ENGINEERING -----
240  PRINT "   MR. SCOTT, JETTISON OUR ENGINEERING SECTION!"
250  IF Z[I,5] THEN 2440
260  PRINT "SCOTT:  JETTISONING ENGINEERING."
270  GOSUB 2490
280  A[I3]=A[I]
290  B[I]=.999999
300  B[I3]=0
310  C[I3]=D[I3]=C[I]
320  F[I3]=F[I]
330  F[I]=G[I]=H[I]=0
340  I[I3]=I[I]+10
350  K[I3]=10000-15/D1
360  Z[I,3]=Z[I,4]=Z[I,5]=1
370  GOTO 2480
380  REM  ----- (22) DETONATE ENGINEERING -----
390  PRINT "   SCOTTY, DETONATE ENGINEERING!"
400  PRINT "SCOTT:  ";
410  IF Z[I,5] THEN 440
420  PRINT "WHAT?  IT'S STILL ATTATCHED."
430  GOTO 2480
440  FOR J=1 TO I1
450  IF I[J]=I[I]+10 THEN 490
460  NEXT J
470  PRINT "OURS HAS ALREADY DETONATED."
480  GOTO 2480
490  PRINT "AYE, "O$"."
500  K[J]=10000
510  GOTO 2480
520  REM  ----- (23) PLAY DEAD -----
530  PRINT "   WEAPONS OFFICER, DROP SHIELDS ..."
540  IF P1 THEN 700
550  PRINT "   TRANSFER POWER TO [ENGINES OR PHASERS]: ";
560  ENTER T3,T,X$
570  PRINT 
580  L=-10
590  IF X$[1,1]="E" THEN 620
600  L=10
610  IF X$[1,1]#"P" THEN 2400
620  FOR K=1 TO 4
630  S[I,K]=0
640  NEXT K
650  FOR K=1 TO K1
660  R[I,K]=L
670  NEXT K
680  P1=1
690  GOTO 2480
700  PRINT "SPOCK:  "O$", THE "R$"S ARE NOT  THAT STUPID."
710  GOTO 2480
720  REM  ----- (24) CORBOMITE BLUFF(S) -----
730  IF RND(1)>.5 THEN 920
740  PRINT "   OPEN A HAILING FREQUENCY, SHIP-TO-SHIP."
750  PRINT "UHURA:  HAILING FREQUENCY OPEN, "O$"."
760  PRINT N$":  THIS IS THE CAPTAIN OF THE "".  OUR RESPECT FOR"
770  PRINT "   OTHER LIFE FORMS REQUIRES THAT WE GIVE YOU THIS WARNING"
780  PRINT "   ONE CRITICAL ITEM OF INFORMATION WHICH HAS NEVER BEEN"
790  PRINT "   INCORPORATED INTO  THE MEMORY BANKS OF ANY EARTH SHIP."
800  PRINT "   SINCE THE EARLY YEARS OF SPACE EXPLORATION, EARTH VESSELS"
810  PRINT "   HAVE HAD INCORPORATED INTO THEM, A SUBTANCE KNOWN AS CORBOMITE"
820  IF P2 THEN 1150
830  PRINT "   IT IS A MATERIAL AND A DEVICE WHICH PREVENTS ATTACK ON"
840  PRINT "   US.  IF ANY DESTUCTIVE ENERGY TOUCHES OUR VESSEL, A REVERSE"
850  PRINT "   REACTION OF EQUAL STRENGTH IS CREATED, DESTROYING"
860  PRINT "   THE ATTACKER.  IT MAY INTEREST YOU TO KNOW THAT, SINCE"
870  PRINT "   THE INITIAL USE OF CORBOMITE FOR MORE THAN TWO OF OUR"
880  PRINT "   CENTURIES AGO, NO ATTACKING VESSEL HAS SURVIVED THE ATTEMPT."
890  PRINT "   DEATH HAS LITTLE MEANING TO US.  IF IT HAS NONE TO YOU,"
900  PRINT "   THEN ATTACK US NOW.  WE GROW ANNOYED AT YOUR FOOLISHNESS."
910  GOTO 1110
920  PRINT "   OPEN A SPECIAL CHANNEL TO STARFLEET COMMAND."
930  PRINT "UHURA:  AYE, "O$"."
940  PRINT N$":  USE CODE 2."
950  PRINT "UHURA:  BUT, CAPTAIN, ACCORDING TO OUR LAST STARFLEET"
960  PRINT "   BULLETIN, THE "R$"S HAVE BROKEN CODE 2."
970  PRINT N$":   THAT'S AN ORDER LIEUTENANT.  CODE 2!"
980  PRINT "UHURA:  YES, CAPTAIN.  CODE 2."
990  PRINT N$":  MESSAGE FROM "" TO STARFLEET COMMAND, THIS SECTOR"
1000  PRINT "   HAVE INADVERTANTLY ENCROACHED UPON "R$" NEUTRAL ZONE,"
1010  PRINT "   SURROUNDED AND UNDER HEAVY "R$" ATTACK.  ESCAPE"
1020  PRINT "   IMPOSSIBLE.  SHIELDS FAILING.  WILL IMPLEMENT DESTRUCT"
1030  PRINT "   ORDER USING CORBOMITE DEVICE RECENTLY INSTALLED.  SINCE"
1040  IF P2 THEN 1150
1050  PRINT "   THIS WILL RESULT IN THE DESTRUCTION OF THE "" AND"
1060  PRINT "   ALL MATTER WITHIN A 200,000 KILOMETER DIAMETER AND"
1070  PRINT "   ESTABLISH CORRESPONDING DEAD ZONE, ALL FEDERATION"
1080  PRINT "   VESSELS WILL AVOID THIS AREA FOR THE NEXT FOUR SOLAR"
1090  PRINT "   YEARS.  EXPLOSION WILL TAKE PLACE IN ONE MINUTE.  "N$","
1100  PRINT "   COMMANDING "", OUT."
1110  PRINT "      MR. SULU. STAND BY."
1120  PRINT "SULU:  STANDING BY."
1130  P2=1
1140  GOTO 2480
1150  PRINT "SPOCK:  I DON'T BELIEVE THAT THEY WILL FALL FOR THAT MANUEVER"
1160  PRINT "  AGAIN, "O$"."
1170  GOTO 2480
1180  REM  ----- (25) SURRENDER ATTEMPT -----
1190  PRINT "   LIEUTENANT, OPEN A CHANNEL TO THE "R$"S."
1200  PRINT "UHURA:  AYE, "O$"."
1210  PRINT N$":  THIS CAPTAIN "N$" OF THE U.S.S. "".  WILL"
1220  PRINT "   YOU ACCEPT MY UNCONDITIONAL SURRENDER?"
1230  IF P3 THEN 1290
1240  IF R$#"ROMULAN" THEN 1270
1250  PRINT "SPOCK:  THE "R$"S HAVE NOT BEEN KNOWN TO HAVE TAKEN"
1260  PRINT "   SURVIVORS."
1270  P3=1
1280  GOTO 2480
1290  PRINT "SPOCK:  THE "R$"S HAVE ALREADY REFUSED."
1300  GOTO 2480
1310  REM ----- (26) ASK ENEMY TO SURRENDER -----
1320  PRINT "    LIEUTENANT, OPEN A HAILING FREQUENCY TO THE "R$"S."
1330  PRINT "UHURA:   AYE, "O$"."
1340  PRINT N$":    THIS IS CAPTAIN "N$" OF THE U.S.S. "".  I GIVE YOU"
1350  PRINT "    ONE LAST CHANCE TO SURRENDER BEFORE WE RESUME OUR ATTACK."
1360  IF P4 THEN 1390
1370  P4=1
1380  GOTO 2480
1390  PRINT "SPOCK:   "O$", OUR OFFER HAS ALREADY BEEN REFUSED."
1400  GOTO 2480
1410  REM ----- (27) SELF DESTRUCT SEQUENCE -----
1420  PRINT "    LIEUTENANT UHURA, TIE IN THE BRIDGE TO THE MASTER"
1430  PRINT "    COMPUTER."
1440  IF Z[I,1] THEN 2420
1450  PRINT "UHURA:   AYE, "O$"."
1460  GOTO 1660
1470  PRINT N$":   COMPUTER.   DETRUCT SEQUENCE.   ARE YOU REDAY TO COPY?"
1480  PRINT "COMPUTER:   WORKING."
1490  PRINT N$":   PREPARE TO VERIFY DESTRUCT SEQUENCE, CODE 1."
1500  PRINT "    COMPUTER, THIS IS CAPTAIN "N$" OF THE U.S.S. ""."
1510  PRINT "    DESTRUCT SEQUENCE ONE, CODE 1-1A."
1520  PRINT "COMPUTER:   VOICE AND CODE 1-1A VERIFIED AND CORRECT."
1530  PRINT "    SEQUENCE ONE COMPLETE."
1540  PRINT N$":  MR. SPOCK?"
1550  PRINT "SPOCK:   THIS IS COMMANDER SPOCK, SCIENCE OFFICER.  DESTRUCT"
1560  PRINT "    SEQUENCE TWO, CODE 1-1A-2B."
1570  PRINT "COMPUTER:   VOICE AND CODE VERIFIED AND CORRECT.  SEQUENCE"
1580  PRINT "    TWO COMPLETE."
1590  PRINT N$":  MR. SCOTT?"
1600  PRINT "SCOTT:  THIS IS LIEUTENANT COMMANDR SCOTT, CHIEF ENGINEER-"
1610  PRINT "   ING OFFICER OF THE U.S.S. "".  DESTRUCT SEQUENCE"
1620  PRINT "   NUMBER THREE, CODE 1-D2-B3."
1630  PRINT "COMPUTER:  VOICE AND CODE 1-D2-B3 VERIFIED AND CORRECT."
1640  PRINT "   DESTRUCT SEQUENCE COMPLETE AND ENGAGED.  AWAITING FINAL"
1650  PRINT "   CODE FOR TWENTY SECOND COUNTDOWN."
1660  PRINT N$":  COMPUTER, THIS IS CAPTAIN "N$" OF THE U.S.S. ""."
1670  PRINT "   BEGIN TWENTY SECOND COUNTDOWN, CODE 0-0-0, DESTRUCT 0."
1680  PRINT "COMPUTER:   20 SECONDS TO SELF-DESTRUCT."
1690  K[I]=10000-20/D1
1700  GOTO 2480
1710  REM ----- (28) ABORT SELF-DESTRUCT -----
1720  PRINT "   COMPUTER, THIS IS CAPTAIN "N$" OF THE U.S.S. ""."
1730  PRINT "    CODE 1-2-3 CONTINUITY ABORT DESTRUCT ORDER, REPEAT:"
1740  PRINT "   CODE 1-2-3 CONTINUITY ABORT DESTRUCT ORDER!"
1750  IF Z[I,1] THEN 2420
1760  IF K[I]>10000-20/D1 THEN 1790
1770  PRINT "COMPUTER:   SELF-DESTRUCT SEQEUNCE CODE 1 HAS NOT BEEN INIATED."
1780  GOTO 2480
1790  PRINT "COMPUTER:  DESTRUCT ORDER ... ";
1800  ENTER T2,R,X$
1810  IF K[I]<10000-5/D1 THEN 1850
1820  PRINT 
1830  PRINT "SPOCK:   TOO LATE, CAPTAIN ..."
1840  GOTO 2480
1850  PRINT "ABORTED.   DESTRUCT ORDER ABORTED."
1860  K[I]=60
1870  GOTO 2480
1880  REM ----- (29) BRIEFING -----
1890  RESTORE 1730
1900  DATA "FIRE PHASERS","FIRE PHOTON TORPEDOS"
1910  DATA "LOCK PHASERS ONTO TARGET","LOCK TUBES ONTO TARGET"
1920  DATA "MANUALLY ROTATE PHASERS","MANUALLY ROTATE TUBES"
1930  DATA "PHASER STATUS","TUBE STATUS"
1940  DATA "LOAD/UNLOAD TORPEDO TUBES"
1950  DATA "LAUNCH ANTIMATTER PROBE"
1960  DATA "PROBE CONTROL (DETONATE, DIRECT, LOCK)"
1970  DATA "*POSITION REPORT","*POSITION DISPLAY"
1980  DATA "PURSUE AN ENEMY VESSEL","RUN FROM AN ENEMY VESSEL"
1990  DATA "MANUALLY CHANGE COURSE AND SPEED"
2000  DATA "*DAMAGE REPORT","SCAN ENEMY (DAMAGE REPORT OF ENEMY)"
2010  DATA "ALTER POWER DISTRIBUTION"
2020  DATA "ALTER PHASER AND TORPEDO FIRING PARAMETERS"
2030  DATA "JETTISON ENGINEERING","DETONATE ENGINEERING"
2040  DATA "ATTEMPT DEFENSELESS RUSE","ATTEMPT CORBOMITE BLUFF(S)"
2050  DATA "SURRENDER","ASK ENEMY TO SURRENDER"
2060  DATA "INITIATE SELF-DESTRUCT SEQUENCE","ABORT SELF-DESTRUCT"
2070  DATA "*REPRINTS ABOVE LIST","M5 COMPUTER"
2080  PRINT 
2090  PRINT "CODE        COMMAND"
2100  PRINT 
2110  FOR K=1 TO 30
2120  READ X$
2130  PRINT K;X$
2140  IF K-INT(K/10)*10 THEN 2160
2150  PRINT 
2160  NEXT K
2170  PRINT 
2180  PRINT "*DOES NOT USE A TURN"
2190  PRINT 
2200  I=0
2210  GOTO 2480
2220  REM ----- (30) MULTITRONICS-FIVE -----
2230  I=0
2240  IF Z9 THEN 2300
2250  PRINT N$":  M5 COMPUTER TAKE COMMAND OF THE ""."
2260  IF Z[1,1] THEN 2420
2270  PRINT "M5 COMPUTER:  TAKING CONTROL."
2280  Z9=1
2290  GOTO 2480
2300  PRINT "DR. DAYSTROM:  M5 COMPUTER, RELEASE THE ""."
2310  IF RND(0)>.35 THEN 2350
2320  PRINT "M5 COMPUTER:  RELEASING CONTROL."
2330  Z9=0
2340  GOTO 2480
2350  PRINT "SPOCK:  NO RESPONSE FROM THE M5 COMPUTER, "O$"."
2360  GOTO 2480
2370  REM ----- ERROR MESSAGES -----
2380  PRINT "**TIME**"
2390  GOTO 2480
2400  PRINT "CHEKOV:  WHAT?"
2410  GOTO 2480
2420  PRINT "SPOCK:  OUR COMPUTER IS DOWN."
2430  GOTO 2480
2440  PRINT "SCOTT:  ENGINEERING HAS ALREADY BEEN JETTISONED."
2450  REM
2460  REM    ----- EXIT -----
2470  REM
2480  CHAIN "*TREK07"
2490  REM     ----- SLOT I SUBROUTINE -----
2500  FOR I3=1 TO I2
2510  IF I[I3]=0 THEN 2570
2520  NEXT I3
2530  PRINT 
2540  PRINT "GAME WILL TERMINATE BECAUSE OF INABILITY TO COPE WITH"
2550  PRINT "ALL THE JUNK (VESSELS, PROBES, TORPEDOS, ETC.) IN SPACE."
2560  STOP 
2570  I[I3]=1000
2580  A[I3]=B[I3]=C[I3]=D[I3]=E[I3]=F[I3]=J[I3]=K[I3]=L[I3]=0
2590  X[I3]=X[I]
2600  Y[I3]=Y[I]
2610  FOR I1=I2 TO 1 STEP -1
2620  IF I[I1]>0 THEN 2640
2630  NEXT I1
2640  RETURN 
2650  END 
