{"id":113,"date":"2013-11-01T16:36:29","date_gmt":"2013-11-01T16:36:29","guid":{"rendered":"http:\/\/www.kermitmurray.com\/trek73\/?page_id=113"},"modified":"2013-11-01T16:41:50","modified_gmt":"2013-11-01T16:41:50","slug":"hp-2000-basic-code","status":"publish","type":"page","link":"https:\/\/kermitmurray.com\/trek73\/hp-2000-basic-code\/","title":{"rendered":"HP 2000 BASIC Code"},"content":{"rendered":"<h4>HP BASIC Code<\/h4>\n<p>From <a href=\"http:\/\/www.dunnington.u-net.com\/public\/startrek\/\" title=\"Pete Turnbull's Start Trek page\" target=\"_blank\">Pete Turnbull\u2019s Star Trek page<\/a>.<\/p>\n<p><Small><\/p>\n<pre>\r\n1  COM A$[20],B$[20],C$[20],M$[20],O$[20],P$[20]\r\n2  COM Q$[20],R$[20],S$[20],V$[20],X$[72],Y$[72],Z$[72]\r\n3  COM A[50],B[50],C[50],D[50],E[50],F[50],G[10],H[10],I[50],J[50]\r\n4  COM K[50],L[50],M[10,6],N[10,4],O[10],P[10],Q[10,4],R[10,4]\r\n5  COM S[10,8],T[10,9],U[10,6],V[10,6],W[10],X[50],Y[50],Z[10,10]\r\n6  COM A,D1,D2,I,I1,I2,K1,K2,K3,K4,N,N1,N2,O,O1,O2,P1,P2,P3,P4\r\n7  COM T0,T1,T2,T3,T4,T5,T6,T7,T8,T9\r\n8  REM\r\n9  REM    TREK73:  AN ADVANCED STAR TREK BATTLE SIMULATION\r\n10  REM  PROGRAMMED BY WILLIAM K. CHAR AND ASSOCIATES, WILSON\r\n11  REM  EDP, 400 MANSELL, SAN FRAN, CA 94134, (415) 230-6460\r\n12  REM  26 NOVEMBER 1973 ***FOR AUTHORISED PERSONNEL ONLY***\r\n13  REM\r\n14  DEF FNA(X)=X*1.74533E-02\r\n15  DEF FNB(X)=X*57.2958\r\n16  DEF FNC(X)=X-INT(X*2.77778E-03)*360\r\n17  DEF FNR(X)=INT(X*RND(1))+1\r\n18  REM\r\n19  T0=1\r\n20  T1=T0*2\r\n21  T2=T1*2\r\n22  T3=T2*2\r\n23  T4=T3*2\r\n24  T5=T4*2\r\n25  T6=T5*2\r\n26  T7=T6*2\r\n27  T8=T7*2\r\n28  T9=T8*2\r\n29  PRINT LIN(-1);\"CAPTAIN:  MY LAST NAME IS \";\r\n30  ENTER T5,T,N$\r\n31  PRINT\r\n32  IF LEN(N$)=0 THEN 30\r\n33  L=0\r\n34  IF N$[1,1]#\"*\" THEN 37\r\n35  N$=N$[2]\r\n36  L=1\r\n37  PRINT N$\":  MY SEX IS :\"\r\n38  ENTER T4,T,X$\r\n39  PRINT\r\n40  O$=\"SIR\"\r\n41  IF X$[1,1]=\"M\" THEN 50\r\n42  O$=\"MISS\"\r\n43  IF X$[1,1]=\"F\" THEN 50\r\n44  GOTO FNR(3) OF 45,47,49\r\n45  O$=\"FAG\"\r\n46  GOTO 50\r\n47  O$=\"FAIRY\"\r\n48  GOTO 50\r\n49  O$=\"FRUIT\"\r\n50  PRINT \"   I'M EXPECTING [1-9]   ENEMY VESSELS.\"LIN(0);TAB(23);\r\n51  ENTER T4,T,A\r\n52  PRINT\r\n53  IF T&#60;0 THEN 55\r\n54  IF A=INT(A) AND A&#62;0 AND A&#60;10 THEN 60\r\n55  PRINT \"UHURA:  \"O$\", STARFLEET COMMAND REPORTS THAT IT CAN ONLY\"\r\n56  PRINT \"   BE FROM 1 TO 9.  TRY AGAIN.\"\r\n57  PRINT N$\":  CORRECT, LIEUTENANT--JUST TESTING YOUR ATTENTION.\"\r\n58  GOTO 50\r\n59  REM  (ENEMY VESSELS)\r\n60  N=A+1\r\n61  MAT I=ZER\r\n62  FOR I=1 TO 10\r\n63  I[I]=I\r\n64  NEXT I\r\n65  REM  (SCRAMBLE NAMES)\r\n66  FOR I=2 TO 9\r\n67  K=FNR(11-I)+I-1\r\n68  X=I[I]\r\n69  I[I]=I[K]\r\n70  I[K]=X\r\n71  NEXT I\r\n72  FOR I=N+1 TO 10\r\n73  I[I]=0\r\n74  NEXT I\r\n75  REM  (SELECT FEDERATION VESSELS)\r\n76  RESTORE 77\r\n77  DATA \"CONSTELLATION\",\"ENTERPRISE\",\"EXCALIBUR\",\"LEXINGTON\"\r\n78  DATA \"ENDEAVOR\",\"EXCELSIOR\",\"FEDERATION\",\"YORKTOWN\"\r\n79  DATA \"VALLIANT\",\"CONSTITUTION\",\"ALTAIR\",\"CAPELLA\"\r\n80  FOR I=1 TO FNR(12)\r\n81  READ P$\r\n82  NEXT I\r\n83  REM  (SELECT ENEMY NATIONS)\r\n84  RESTORE 85\r\n85  DATA \"ARCTURIAN\",\"RIGELIAN\",\"KLINGON\",\"ROMULAN\",\"VULCAN\"\r\n86  FOR I=1 TO FNR(5)\r\n87  READ R$\r\n88  NEXT I\r\n89  REM  (SELECT ENEMY CAPTAINS)\r\n90  RESTORE 91\r\n91  DATA \"BOLAK\",\"KANG\",\"KOLOTH\",\"KOR\",\"KORAX\",\"KRULIX\",\"QUARLO\",\"TOWL\"\r\n92  DATA \"T'PAU\",\"TROBLAK\"\r\n93  FOR I=1 TO FNR(10)\r\n94  READ S$\r\n95  NEXT I\r\n96  IF L THEN 173\r\n97  PRINT\r\n98  PRINT \"SPACE, THE FINAL FRONTIER.\"\r\n99  PRINT \"THESE ARE THE VOYAGES OF THE STARSHIP \"P$\".\"\r\n100  PRINT \"ITS FIVE YEAR MISSION: TO EXPLORE STRANGE NEW WORLDS,\"\r\n101  PRINT \"TO SEEK OUT NEW LIFE AND NEW CIVILIZATIONS,\"\r\n102  PRINT \"TO BOLDLY GO WHERE NO MAN HAS GONE BEFORE!\"\r\n103  PRINT\r\n104  PRINT TAB(20)\"S T A R   T R E K\"\r\n105  PRINT\r\n106  PRINT \"CAPTAIN \"N$\": CAPTAIN'S LOG, STARDATE \"TIM(1)+TIM(0)\/100\r\n107  REM  (SELECT MISSIONS)\r\n108  RESTORE 109\r\n109  DATA \" WE ARE ACTING IN RESPONSE TO A PRIORITY 1 DISTRESS CALL FROM\"\r\n110  DATA \"SPACE STATION K7.\"\r\n111  DATA \" WE ARE ORBITING GAMMA 2 TO MAKE A ROUTINE CHECK OF AUTOMATIC\"\r\n112  DATA \"COMMUNICATIONS AND ASTROGATION STATIONS.\"\r\n113  DATA \" WE ARE ON COURSE FOR EPSILON CANARES 3 TO TREAT COMMISSIONER\"\r\n114  DATA \"HEADFORD FOR SUKARO'S DISEASE.\"\r\n115  DATA \" WE HAVE BEEN ASSIGNED TO TRANSPORT FEDERATION AMBASSADORS\"\r\n116  DATA \"TO THE PLANET CONFERENCE, CODE NAMED BABEL, ON TELLERITE\"\r\n117  DATA \"ANDOREAN.\"\r\n118  DATA \" OUR MISSION IS TO INVESTIGATE A FIND OF TRITANIUM ON BETA 7.\"\r\n119  DATA \" WE ARE ORBITING RIGEL 4 FOR THERAPEUTIC SHORE LEAVE.\"\r\n120  DATA \" WE ARE ORBITING SIGMA IOTA 2 TO STUDY THE EFFECTS OF\"\r\n121  DATA \"CONTAMINATION UPON A DEVELOPING CULTURE.\"\r\n122  DATA \" WE HAVE ALTERED COURSE FOR A RESCUE MISSION IN THE GAMMA 7A\"\r\n123  DATA \"SYSTEM.\"\r\n124  DATA \" WE ARE PRESENTLY ON COURSE FOR ALTAIR 6 TO ATTEND INAUGURATION\"\r\n125  DATA \"CEREMONIES ON THAT PLANET.\"\r\n126  DATA \" WE ARE ON A CARTOGRAPHIC MISSION TO POLEX 8.\"\r\n127  DATA \" WE ARE HEADED FOR MALURIAN IN RESPONSE TO A DISTRESS CALL\"\r\n128  DATA \"FROM THAT SYSTEM.\"\r\n129  DATA \" WE ARE TO NEGOTIATE A TREATY TO MINE DILITHIUM CRYSTALS FROM\"\r\n130  DATA \"THE HAULKINS.\"\r\n131  DATA \" WE ARE TO INVESTIGATE STRANGE SENSOR READINGS REPORTED BY A\"\r\n132  DATA \"SCOUTSHIP INVESTIGATING GAMMA TRIANGULA 6.\"\r\n133  DATA \" WE ARE HEADED FOR PLANETS L370 AND L374 TO INVESTIGATE THE\"\r\n134  DATA \"DISAPPEARANCE OF THE STARSHIP CONSTELLATION IN THAT VICINITY\"\r\n135  DATA \" WE ARE ORDERED, WITH A SKELETON CREW, TO PROCEED TO SPACE\"\r\n136  DATA \"STATION K2 TO TEST DR. RICHARD DAYSTROM'S COMPUTER M-5.\"\r\n137  DATA \" WE HAVE ENCOUNTERED DEBRIS FROM THE SS BEAGLE AND ARE\"\r\n138  DATA \"PROCEEDING TO INVESTIGATE.\"\r\n139  DATA \" WE ARE ON COURSE FOR EKOS TO LOCATE JOHN GUILD.\"\r\n140  DATA \" WE ARE TO DIVERT AN ASTEROID FROM DESTROYING AN INHABITED\"\r\n141  DATA \"PLANET.\"\r\n142  DATA \" WE ARE RESPONDING TO A DISTRESS CALL FROM THE SCIENTIFIC\"\r\n143  DATA \"EXPEDITION ON TRIACUS.\"\r\n144  DATA \" WE HAVE BEEN ASSIGNED TO TRANSPORT THE MEDUSAN AMBASSADOR TO\"\r\n145  DATA \"TO HIS HOME PLANET.\"\r\n146  DATA \" ***END OF MISSIONS***\"\r\n147  FOR I=1 TO FNR(20)\r\n148  READ X$\r\n149  IF X$[1,1]=\" \" THEN 151\r\n150  GOTO 148\r\n151  NEXT I\r\n152  PRINT \"  \"X$\r\n153  READ X$\r\n154  IF X$[1,1]=\" \" THEN 157\r\n155  PRINT \"   \"X$\r\n156  GOTO 153\r\n157  X$=\"A23456789\"\r\n158  X$=X$[A,A]\r\n159  Y$=\"\"\r\n160  IF A=1 THEN 162\r\n161  Y$=\"S\"\r\n162  PRINT \"SULU:  \"O$\", I'M PICKING UP \"X$\" VESSEL \"Y$\" ON INTERCEPTION\"\r\n163  PRINT \"   COURSE\"Y$\" WITH THE \"P$\".\"\r\n164  X$=\"IT\"\r\n165  Z$=\"A \"\r\n166  IF A=1 THEN 169\r\n167  X$=\"THEM\"\r\n168  Z$=\"\"\r\n169  PRINT \"SPOCK:  SENSORS IDENTIFY \"Y$\" AS \"Z$;R$\" BATTLE\"\r\n170  PRINT \"   CRUISER\"Y$\", PROBABLY UNDER THE COMMAND OF CAPTAIN \"S$\".\"\r\n171  PRINT N$\":  SOUND GENERAL QUARTERS, LIEUTENANT!\"\r\n172  PRINT \"UHURA:  AYE, \"O$\"!\"\r\n173  PRINT LIN(-1);\"COMPUTER:  THE \"R$\"'S ARE ATTACKING THE \"P$\" WITH THE\"\r\n174  PRINT \"  \";\r\n175  FOR I=2 TO N\r\n176  V=I[I]\r\n177  GOSUB 261\r\n178  PRINT \" \"V$;\r\n179  IF I=N THEN 184\r\n180  IF A&#60;3 THEN 183\r\n181  PRINT \",\"\r\n182  IF I+1&#60;N THEN 184\r\n183  PRINT \" AND THE \";\r\n184  NEXT I\r\n185  PRINT \".\"\r\n186  REM\t  ----- MAJOR INITIALISATIONS -----\r\n187  D1=.2\r\n188  I1=N\r\n189  I2=50\r\n190  K1=4\r\n191  K2=6\r\n192  O1=O2=P1=P2=P3=P4=0\r\n193  MAT A=ZER\r\n194  MAT B=ZER\r\n195  MAT C=ZER\r\n196  MAT D=ZER\r\n197  MAT E=ZER\r\n198  MAT F=ZER\r\n199  MAT G=ZER\r\n200  MAT H=ZER\r\n201  MAT J=ZER\r\n202  MAT K=ZER\r\n203  MAT L=ZER\r\n204  MAT M=ZER\r\n205  MAT N=ZER\r\n206  MAT O=ZER\r\n207  MAT P=ZER\r\n208  MAT Q=ZER\r\n209  MAT R=ZER\r\n210  MAT S=ZER\r\n211  MAT T=ZER\r\n212  MAT U=ZER\r\n213  MAT V=ZER\r\n214  MAT W=ZER\r\n215  MAT X=ZER\r\n216  MAT Y=ZER\r\n217  MAT Z=ZER\r\n218  FOR I=1 TO I1\r\n219  A[I]=B[I]=1\r\n220  C[I]=D[I]=FNR(360)\r\n221  E[I]=.55\r\n222  F[I]=300\r\n223  H[I]=375\r\n224  G[I]=10\r\n225  J[I]=1\r\n226  FOR K=1 TO K1\r\n227  Q[I,K]=10\r\n228  R[I,K]=10\r\n229  NEXT K\r\n230  M[I,K1+1]=10\r\n231  M[I,K1+2]=100\r\n232  N[I,1]=90\r\n233  N[I,4]=270\r\n234  T[I,K2+1]=12\r\n235  T[I,K2+2]=10\r\n236  T[I,K2+3]=200\r\n237  U[I,1]=120\r\n238  U[I,2]=60\r\n239  U[I,5]=300\r\n240  U[I,6]=240\r\n241  FOR K=1 TO 4\r\n242  S[I,K]=1\r\n243  S[I,K+4]=100\r\n244  NEXT K\r\n245  R=4300+FNR(500)\r\n246  B=FNA(I*(360\/A))\r\n247  X[I]=R*COS(B)\r\n248  Y[I]=R*SIN(B)\r\n249  Z[I,6]=350\r\n250  NEXT I\r\n251  REM  (FEDERATION EXCEPTIONS)\r\n252  C[1]=D[1]=0\r\n253  E[1]=1\r\n254  F[1]=200\r\n255  H[1]=250\r\n256  J[1]=0\r\n257  X[1]=Y[1]=0\r\n258  Z[1,6]=450\r\n259  I=0\r\n260  CHAIN \"*TREK0\"\r\n261  REM\t  ----- NAME SELECTION SUBROUTINE -----\r\n262  RESTORE 263\r\n263  DATA \"BISMARK\",\"CENTUAR\",\"DRADDOCK\",\"FORBIN\",\"KREIGER\",\"SHLURG\"\r\n264  DATA \"TRAKKA\",\"VARNOR\",\"WARRIOR\"\r\n265  IF V&#62;1 THEN 268\r\n266  V$=P$\r\n267  RETURN\r\n268  FOR V2=2 TO V\r\n269  READ V$\r\n270  NEXT V2\r\n271  RETURN\r\n272  END\r\n\r\n\r\n&#60;strong&#62;REM TREK0&#60;\/strong&#62;\r\n\r\n\r\n10  COM A$[20],B$[20],C$[20],M$[20],O$[20],P$[20]\r\n12  COM Q$[20],R$[20],S$[20],V$[20],X$[72],Y$[72],Z$[72]\r\n14  COM A[50],B[50],C[50],D[50],E[50],F[50],G[10],H[10],I[50],J[50]\r\n16  COM K[50],L[50],M[10,6],N[10,4],O[10],P[10],Q[10,4],R[10,4]\r\n18  COM S[10,8],T[10,9],U[10,6],V[10,6],W[10],X[50],Y[50],Z[10,10]\r\n20  COM A,D1,D2,I,I1,I2,K1,K2,K3,K4,N,N1,N2,O,O1,O2,P1,P2,P3,P4\r\n22  COM T0,T1,T2,T3,T4,T5,T6,T7,T8,T9\r\n24  REM\r\n26  REM    TREK73:  AN ADVANCED STAR TREK BATTLE SIMULATION\r\n28  REM  PROGRAMMED BY WILLIAM K. CHAR AND ASSOCIATES, WILSON\r\n30  REM  EDP, 400 MANSELL, SAN FRAN, CA 94134, (415) 230-6460\r\n32  REM  26 NOVEMBER 1973 ***FOR AUTHORISED PERSONNEL ONLY***\r\n34  REM\r\n36  DEF FNA(X)=X*1.74533E-02\r\n38  DEF FNB(X)=X*57.2958\r\n40  DEF FNC(X)=X-INT(X*2.77778E-03)*360\r\n42  DEF FNR(X)=INT(X*RND(1))+1\r\n44  REM\r\n50  I=I+1\r\n55  IF I&#62;10 THEN 145\r\n60  IF I[I]=0 OR I[I]&#62;10 THEN 50\r\n65  IF NOT Z[I,6] THEN 50\r\n70  M=V=I[I]\r\n75  GOSUB 9050\r\n80  M$=V$\r\n85  IF I[I]&#62;1 THEN 5000\r\n86  FILES *ZZ\r\n87  IF END #1 THEN 90\r\n88  READ #1;Z$\r\n89  PRINT Z$\r\n90  PRINT LIN(-1);N$;\":  CODE [1-29] \";\r\n95  ENTER T3,T,O\r\n100  PRINT\r\n105  IF T&#62;0 THEN 120\r\n110  PRINT \"**TIME**\"\r\n115  GOTO 50\r\n120  GOTO INT((O-1)*.1)+1 OF 130,135,140,145\r\n125  GOTO 145\r\n130  CHAIN \"*TREK1\"\r\n135  CHAIN \"*TREK2\"\r\n140  CHAIN \"*TREK3\"\r\n145  CHAIN \"*TREK4\"\r\n5000  REM          ENEMY STRATEGY BY WILLIAM CHAR\r\n5005  REM          MAIN VERSION, 25 NOVEMBER 1973\r\n5010  J1=J=1\r\n5015  R=SQR((X[I]-X[J])^2+(Y[I]-Y[J])^2)\r\n5020  GOSUB 9100\r\n5025  B2=FNC(B-C[I])\r\n5030  GOTO O1 OF 5040,6725,6725,5605,5605\r\n5035  GOTO 5060\r\n5040  B[I]=1\r\n5045  D[I]=0\r\n5050  GOTO 50\r\n5055  REM  -- DEFENCELESS RUSE EFFECTS --\r\n5060  GOTO P1 OF 5070,5090,5125,5150,5150\r\n5065  GOTO 5185\r\n5070  IF .3&#62;RND(1) THEN 5085\r\n5075  PRINT \"SULU:  NO APPARENT CHANGE IN THE ENEMY'S ACTIONS.\"\r\n5080  GOTO 5175\r\n5085  P1=2\r\n5090  GOTO FNR(2) OF 5095, 5110\r\n5095  J[I]=J\r\n5100  B[I]=1\r\n5105  GOTO 5185\r\n5110  J[I]=J\r\n5115  B[I]=1\r\n5120  GOTO 5185\r\n5125  PRINT \"SULU:  THE \"M$\" \";\r\n5130  IF J[I]&#62;1 THEN 5145\r\n5135  PRINT \"IS TURNING AWAY.\"\r\n5140  GOTO 5150\r\n5145  PRINT \"IS CAUTIOUSLY ADVANCING.\"\r\n5150  IF ABS(A[J])&#62;1 OR R&#60;200 THEN 5175\r\n5155  FOR K=1 TO 4\r\n5160  IF S[J,K] THEN 5175\r\n5165  NEXT K\r\n5170  GOTO 5185\r\n5175  P1=6\r\n5180  REM  -- CORBOMITE BLUFF EFFECTS --\r\n5185  GOTO P2 OF 5195,5285,5300,5300,5300\r\n5190  GOTO 5320\r\n5195  X=.4\r\n5200  IF R$=\"ROMULAN\" THEN 5210\r\n5205  X=.6\r\n5210  IF X&#62;RND(1) THEN 5250\r\n5215  PRINT \"UHURA:  MESSAGE COMING IN FROM THE \"R$\"S.\"\r\n5220  PRINT N$\":  PUT IT ON AUDIO.\"\r\n5225  GOTO FNR(2) OF 5230,5240\r\n5230  PRINT S$\":  HA, HA, HA, \"N$\".  YOU LOSE.\"\r\n5235  GOTO 5310\r\n5240  PRINT S$\":  I FELL FOR THAT LAST TIME WE MET, IDIOT!\"\r\n5245  GOTO 5310\r\n5250  PRINT \"SPOCK:  HE'S GIVING GROUND, CAPTAIN.  OBVIOUSLY, THEY\"\r\n5255  PRINT \"   TAPPED IN AS YOU EXPECTED THEM TO.\"\r\n5260  PRINT N$\":  A LOGICAL ASSUMPTION, MR SPOCK.  ARE THEY STILL\"\r\n5265  PRINT \"   RETREATING?\"\r\n5270  PRINT \"SPOCK:  YES, \"O$\".\"\r\n5275  PRINT N$\":  GOOD. ALL HANDS, STAND BY.\"\r\n5280  P2=2\r\n5285  J[I]=-J\r\n5290  B[I]=3+FNR(7)\r\n5295  GOTO 5320\r\n5300  IF ABS(A[J])&#62;2 THEN 5310\r\n5305  GOTO 5320\r\n5310  P2=6\r\n5315  REM  -- SURRENDER --\r\n5320  GOTO P3 OF 5330,5405,5420,5420,5420\r\n5325  GOTO 5470\r\n5330  X=.5\r\n5335  IF R$=\"ROMULAN\" THEN 5350\r\n5340  X=.05\r\n5345  PRINT \"CHEKOV:  THE \"R$\"S DO NOT TAKE SURVIVORS.\"\r\n5350  IF X&#62;RND(1) THEN 5380\r\n5355  GOTO FNR(2) OF 5360,5370\r\n5360  PRINT S$\":  PREPARE TO DIE, CHICKEN \"N$\"!\"\r\n5365  GOTO 5460\r\n5370  PRINT \"UHURA:  NO REPLY FROM THE \"R$\".\"\r\n5375  GOTO 5460\r\n5380  PRINT \"UHURA:  MESSAGE COMING IN FROM THE \"M$\".\"\r\n5385  PRINT S$\":  ON BEHALF OF THE \"R$\" EMPIRE, I ACCEPT YOUR SURRENDER.\"\r\n5390  PRINT \"   YOU HAVE FIVE SECONDS TO DROP YOUR SHIELDS, CUT\"\r\n5395  PRINT \"   WARP, AND PREPARE TO BE BOARDED.\"\r\n5400  P3=2\r\n5405  J[I]=J\r\n5410  B[I]=2\r\n5415  GOTO 5470\r\n5420  FOR K=1 TO 4\r\n5425  IF S[J,K] THEN 5605\r\n5430  NEXT K\r\n5435  IF R&#62;400 THEN 5445\r\n5440  B[I]=1\r\n5445  IF R&#62;200 OR ABS(A[J]) THEN 5605\r\n5450  O1=4\r\n5455  GOTO 5605\r\n5460  P3=6\r\n5465  REM  -- ENEMY SURRENDER CONTEMPLATION --\r\n5470  GOTO P4 OF 5480,5530\r\n5475  GOTO 5575\r\n5480  FOR L=2 TO 10\r\n5485  IF I[L]&#60;10 AND Z[L,6]&#62;100 THEN 5560\r\n5490  NEXT L\r\n5495  X=.5\r\n5500  IF R$#\"ROMULAN\" THEN 5510\r\n5505  X=.05\r\n5510  IF X&#60;RND(1) THEN 5560\r\n5515  PRINT S$\":  AS MUCH AS I HATE TO, CAPTAIN \"N$\", WE WILL SURRENDER.\"\r\n5520  PRINT \"   WE ARE DROPPING SHIELDS.  YOU MAY BOARD US.\"\r\n5525  P4=2\r\n5530  FOR K=1 TO 4\r\n5535  S[I,K]=0\r\n5540  NEXT K\r\n5545  B[I]=0\r\n5550  O1=5\r\n5555  GOTO 5605\r\n5560  PRINT S$\":  YOU MUST BE JOKING, CAPTAIN \"N$\".  WHY DON'T YOU\"\r\n5565  PRINT \"   SURRENDER?\"\r\n5570  P4=6\r\n5575  IF P1&#62;0 AND P1&#60;6 THEN 5605\r\n5580  IF P2&#62;0 AND P2&#60;6 THEN 5605\r\n5585  IF P3&#62;0 AND P3&#60;6 THEN 5605\r\n5590  IF P4&#62;0 AND P4&#60;6 THEN 5605\r\n5595  GOTO 5725\r\n5600  REM  -- UNSPORTSMANLIKE FIRING --\r\n5605  FOR K=1 TO K1\r\n5610  IF M[J,K]&#62;99 THEN 5665\r\n5615  NEXT K\r\n5620  FOR K=1 TO K2\r\n5625  IF T[J,K]&#62;99 THEN  5665\r\n5630  NEXT K\r\n5635  IF P1&#62;0 AND P1&#60;6 THEN 50\r\n5640  IF P2&#62;0 AND P2&#60;6 THEN 50\r\n5645  IF P3&#62;0 AND P3&#60;6 THEN 50\r\n5650  IF P4&#62;0 AND P4&#60;6 THEN 50\r\n5655  IF O1=4 OR O1=5 THEN 50\r\n5660  GOTO 5725\r\n5665  PRINT S$\":  HOW DARE YOU FIRE UPON US!  WE ARE RESUMING OUR\"\r\n5670  PRINT \"   ATTACK!\"\r\n5675  O1=0\r\n5680  IF P1=0 THEN 5690\r\n5685  P1=6\r\n5690  IF P2=0 THEN 5700\r\n5695  P2=6\r\n5700  IF P3=0 THEN 5710\r\n5705  P3=6\r\n5710  IF P4=0 THEN 5725\r\n5715  P4=6\r\n5720  REM  -- RESUMPTION OF NORMAL PLAY --\r\n5725  IF R&#62;3200 THEN 6210\r\n5730  IF R&#62;1200 THEN 5960\r\n5735  REM  -- CLOSE RANGE --\r\n5740  REM  (FIRE PHASERS?)\r\n5745  L=0\r\n5750  FOR K=1 TO K1\r\n5755  IF M[I,K]&#60;0 THEN 5790\r\n5760  GOSUB 9600\r\n5765  IF F&#60;10 THEN 5790\r\n5770  M[I,K]=M[I,K]+100\r\n5775  L=L+1\r\n5780  IF A=1 THEN 5790\r\n5785  IF L&#62;FNR(3) THEN 6440\r\n5790  NEXT K\r\n5795  IF L THEN 6440\r\n5800  REM  (PROBE NEAR)\r\n5805  FOR J=1 TO J1\r\n5810  IF  NOT I[J] OR I[J]&#60;21 OR I[J]&#62;30 THEN 5800\r\n5815  IF SQR((X[I]-X[J])^2+(Y[I]-Y[J])^2)&#60;2150 THEN 6460\r\n5820  NEXT J\r\n5825  J=J1\r\n5830  REM  (FEDERATION BEHIND)\r\n5835  IF B2&#62;135 AND B2&#60;225 THEN 6460\r\n5840  REM  (PHASERS LOCKED)\r\n5845  L=0\r\n5850  FOR K=1 TO K1\r\n5855  IF M[I,K]&#60;0 OR M[I,K] OR M[I,K]=J THEN 5870\r\n5860  M[I,K]=J\r\n5865  L=1\r\n5870  NEXT K\r\n5875  IF L THEN 50\r\n5880  REM  (LAUNCH PROBE)\r\n5885  IF B2&#60;90 OR B2&#62;270 THEN 5900\r\n5890  IF Z[I,3]=0 AND F[I]&#62;10 AND ABS(A[J]) &#60;= 1 THEN 6510\r\n5895  REM  (SELF-DESTRUCT?)\r\n5900  IF F[I]&#60;50 AND G[I]&#60;6 AND K[I]&#60;10000-5\/D1 THEN 6580\r\n5905  REM  (SET COURSE)\r\n5910  IF J[I]=J AND A[I]+ABS(A[J])&#60;3 THEN 5960\r\n5915  B[I]=ABS(A[J])\r\n5920  J[I]=J\r\n5925  IF Z[1,4]=0 THEN 50\r\n5930  REM  (TIME TO RUN?)\r\n5935  IF ABS(B[I])&#60;1 THEN 5960\r\n5940  B[I]=.99\r\n5945  GOTO 50\r\n5950  REM  -- MEDIUM RANGE --\r\n5955  REM (FIRE TORPEDOES?)\r\n5960  FOR J=2 TO N\r\n5965  IF J=I OR I[J]&#62;10 THEN 5990\r\n5970  GOSUB 9100\r\n5975  B1=FNC(B-C[I])\r\n5980  IF B1&#60;5 OR B1&#62;335 THEN 6035\r\n5985  IF SQR((X[I]-X[J])^2+(Y[I]-Y[J])^2)&#60;500 THEN 6035\r\n5990  NEXT J\r\n5995  L=0\r\n6000  FOR K=1 TO K2\r\n6005  IF T[I,K]&#60;1 OR V[I,K]&#60;1 THEN 6025\r\n6010  T[I,K]=T[I,K]+100\r\n6015  L=L+1\r\n6020  IF L&#62;FNR(5) THEN 6610\r\n6025  NEXT K\r\n6030  IF L THEN 6610\r\n6035  J=J1\r\n6040  REM  (TO RUN, OR NOT TO RUN)\r\n6045  IF Z[I,4]=0 THEN 6095\r\n6050  IF ABS(A[J]) &#62;= 1 THEN 6725\r\n6055  FOR K=1 TO K1\r\n6060  IF M[I,K] &#62;= 0 THEN 6095\r\n6065  NEXT K\r\n6070  FOR K=1 TO K1\r\n6075  IF T[I,K] &#62;= 0 THEN 6095\r\n6080  NEXT K\r\n6085  GOTO 6725\r\n6090  REM  (PURSUED, BEHIND, LOW POWER:  JETTISON ENGINEERING)\r\n6095  IF F[I]&#62;50 OR G[I]&#62;5 THEN 6110\r\n6100  IF J[J]*A[J]&#62;0 AND Z[J,3]=0 AND Z[J,5]=0 THEN 6635\r\n6105  REM  (PURSUED, BEHIND, SLOW:  LAUNCH PROBE)\r\n6110  IF B2&#60;90 OR B2&#62;270 THEN 6125\r\n6115  IF J[J]*A[J]&#62;0 AND F[I]&#62;10 AND Z[I,3]=0 THEN 6510\r\n6120  REM  (SCAN?)\r\n6125  IF B2&#62;135 AND B2&#60;225 THEN 6710\r\n6130  REM  (FED DESTRUCTING?)\r\n6135  IF K[J]&#62;10000-10\/D1 THEN 6460\r\n6140  REM  (SET COURSE)\r\n6145  IF B[I]&#62;ABS(A[J])+1 AND J[I]=J THEN 6215\r\n6150  B[I]=11 MIN ABS(A[J])+1+FNR(2)\r\n6155  IF Z[I,4]=0 THEN 6165\r\n6160  B[I]=.99\r\n6165  GOTO FNR(2) OF 6170,6185\r\n6170  REM  DIRECT COURSE\r\n6175  J[I]=J\r\n6180  GOTO 6290\r\n6185  REM  PARALLEL COURSE\r\n6190  D[I]=D[J]\r\n6195  J[I]=0\r\n6200  GOTO 6290\r\n6205  REM  -- DISTANT RANGE --\r\n6210  REM  (OUT OF QUADRANT?)\r\n6211  IF R&#62;9000 AND K[J]&#60;10000-5\/D1 THEN 6580\r\n6213  REM  (LOW POWER?)\r\n6215  IF (F[I]&#60;10 AND G[I]&#60;4.5) OR Z[I,4] THEN 6725\r\n6220  REM  (FEDERATION DESTRUCTING?)\r\n6225  IF K[J]&#62;10000-10\/D1 THEN 6460\r\n6230  REM  (ATTACK?)\r\n6235  J[I]=J\r\n6240  IF F[I]&#60;5 THEN 6270\r\n6245  IF B2&#62;140 AND B2&#60;260 THEN 6275\r\n6250  IF B[I]&#62;ABS(A[J])+2 THEN 6290\r\n6255  B[I]=11 MIN ABS(A[J])+FNR(2)+2\r\n6260  PRINT \"SULU:  \"M$\" ATTACKING.\"\r\n6265  GOTO 50\r\n6270  IF B[I]&#60;1 THEN 6290\r\n6275  B[I]=0\r\n6280  GOTO 50\r\n6285  REM  (TUBES LOADED?)\r\n6290  L=0\r\n6295  FOR K=1 TO K2\r\n6300  IF T[I,K]&#60;0 OR V[I,K] &#62;= 10 THEN 6330\r\n6302  IF .5&#62;RND(1) THEN 6308\r\n6305  Q=10-V[I,K] MIN F[I]\r\n6306  GOTO 6310\r\n6308  Q=15-V[I,K] MIN F[I]\r\n6310  F[I]=F[I]-Q\r\n6315  H[I]=H[I]-Q\r\n6320  V[I,K]=V[I,K]+Q\r\n6325  L=L+1\r\n6330  NEXT K\r\n6335  IF L THEN 50\r\n6340  REM  (TUBES LOCKED?)\r\n6345  L=0\r\n6350  FOR K=1 TO K2\r\n6355  IF T[I,K]&#60;0 OR T[I,K]=J THEN 6370\r\n6360  T[I,K]=J\r\n6365  L=L+1\r\n6370  NEXT K\r\n6375  IF L THEN 50\r\n6380  REM  (PHASERS LOCKED?)\r\n6385  L=0\r\n6390  FOR K=1 TO K1\r\n6395  IF M[I,K]&#60;0 OR M[I,K]=J THEN 6410\r\n6400  M[I,K]=J\r\n6405  L=L+1\r\n6410  NEXT K\r\n6415  IF L THEN 50\r\n6420  REM  (SHIELDS LOW?)\r\n6421  L=0\r\n6422  FOR K=1 TO K1\r\n6423  IF S[I,K+4]&#62;90 THEN 6426\r\n6424  L=1\r\n6425  S[I,K+4]=100\r\n6426  NEXT K\r\n6427  IF L THEN 50\r\n6428  GOTO 6710\r\n6430  REM     ----- COMMAND EXECUTION -----\r\n6435  REM  (FIRING PHASERS)\r\n6440  M[I,K+1]=(FNR(20) MAX 5 MIN 10)\r\n6445  M[I,K+2]=100\r\n6450  GOTO 50\r\n6455  REM  (TAKE EVASIVE ACTION)\r\n6460  PRINT M$\" TAKING EVASIVE ACTION.\"\r\n6465  B[I]=FNR(2)+8\r\n6470  D[I]=FNR(360)\r\n6475  IF Z[I,4] THEN 6490\r\n6480  J[I]=0\r\n6485  GOTO 50\r\n6490  J[I]=J\r\n6495  B[I]=.99\r\n6500  GOTO 50\r\n6505  REM  (LAUNCH PROBE)\r\n6510  GOSUB 9200\r\n6515  PRINT M$\" LAUNCHING PROBE\"I3\r\n6520  A[I3]=B[I3]=2\r\n6525  F[I3]=20 MIN F[I]\r\n6530  F[I]=F[I]-F[I3]\r\n6535  H[I]=H[I]-F[I3]\r\n6540  I[I3]=I[I]+20\r\n6545  J[J3]=J\r\n6550  K[I3]=10000-15\/D1\r\n6555  L[I3]=200+FNR(300)\r\n6560  X[I3]=X[I3]+A[I3]*100*COS(FNA(B))*D1\r\n6565  Y[I3]=Y[I3]+A[I3]*100*SIN(FNA(B))*D1\r\n6570  GOTO 50\r\n6575  REM  (SELF-DESTRUCT)\r\n6580  PRINT \"SPOCK:  THE \"M$\" IS DETONATING IN FIVE SECONDS.\"\r\n6595  K[I]=10000-5\/D1\r\n6600  GOTO 50\r\n6605  REM  (FIRE TORPEDOES)\r\n6610  T[I,K2+1]=12\r\n6615  T[I,K2+2]=10\r\n6620  T[I,K2+3]=100+FNR(200)\r\n6625  GOTO 50\r\n6630  REM  (JETTISON ENGINEERING)\r\n6635  PRINT \"SPOCK:  SENSORS INDICATE DEBRIS BEING LEFT BY THE \"M$\".\"\r\n6640  PRINT \"   INSUFFICIENT MASS?\"\r\n6645  GOSUB 9200\r\n6650  A[I3]=A[I]\r\n6655  B[I3]=0\r\n6660  B[I]=.9*SGN(A[J])\r\n6665  C[I3]=D[I3]=C[I]\r\n6670  F[I3]=F[I]\r\n6675  F[I]=G[I]=H[I]=0\r\n6680  I[I3]=I[I]+10\r\n6685  K[I3]=10000-15\/D1\r\n6690  L[I3]=500\r\n6695  Z[I,3]=Z[I,4]=Z[I,5]=1\r\n6700  GOTO 50\r\n6705  REM  (SCAN)\r\n6710  PRINT \"SPOCK:  \"M$\" SCANNING.\"\r\n6715  GOTO 50\r\n6720  REM  (RUN)\r\n6725  IF B[I]&#60;0 THEN 50\r\n6730  PRINT \"SULU:  THE \"M$\" IS RETREATING.\"\r\n6735  B[I]=.99\r\n6740  J[I]=J\r\n6745  GOTO 50\r\n9050  REM          ----- NAME SELECTION SUBROUTINE -----\r\n9052  RESTORE 9054\r\n9054  DATA \"BISMARK\",\"CENTUAR\",\"DRADDOCK\",\"FORBIN\",\"KREIGER\",\"SHLURG\"\r\n9056  DATA \"TRAKKA\",\"VARNOR\",\"WARRIOR\"\r\n9058  IF V&#62;1 THEN 9064\r\n9060  V$=P$\r\n9062  RETURN\r\n9064  FOR V2=2 TO V\r\n9066  READ V$\r\n9068  NEXT V2\r\n9070  RETURN\r\n9100  REM          ----- BEARING SUBROUTINE -----\r\n9102  X=X[J]-X[I]\r\n9104  Y=Y[J]-Y[I]\r\n9106  IF X=0 THEN 9112\r\n9108  B=ATN(Y\/X)*57.2958\r\n9110  GOTO 9114\r\n9112  B=90\r\n9114  IF X &#62;= 0 AND Y &#62;= 0 THEN 9122\r\n9116  B=B+180\r\n9118  IF X&#60;0 THEN 9122\r\n9120  B=B+180\r\n9122  RETURN\r\n9200  REM          ----- SLOT I SUBROUTINE -----\r\n9202  FOR I3=1 TO I2\r\n9204  IF I[I3]=0 THEN 9216\r\n9206  NEXT I3\r\n9208  PRINT\r\n9210  PRINT \"GAME WILL TERMINATE BECAUSE OF INABILITY TO COPE WITH\"\r\n9212  PRINT \"ALL THE JUNK (VESSELS, PROBES, TORPEDOES, ETC) IN SPACE.\"\r\n9214  STOP\r\n9216  I[I3]=1000\r\n9218  A[I3]=B[I3]=C[I3]=D[I3]=E[I3]=F[I3]=J[I3]=K[I3]=L[I3]=0\r\n9220  X[I3]=X[I]\r\n9222  Y[I3]=Y[I]\r\n9224  FOR I1=I2 TO 1 STEP -1\r\n9226  IF I[I1]&#62;0 THEN 9230\r\n9228  NEXT I1\r\n9230  I[I3]=0\r\n9232  RETURN\r\n9400  REM          ----- PHASER TRACKING SUBROUTINE -----\r\n9402  J=M[I,K]\r\n9404  IF J&#60;100 THEN 9408\r\n9406  J=J-100\r\n9408  IF J=0 THEN 9416\r\n9410  IF I[J]=0 THEN 9422\r\n9412  GOSUB 9100\r\n9414  N[I,K]=FNC(B-C[I])\r\n9416  IF N[I,K]&#60;125 OR N[I,K]&#62;235 OR Z[I,5] THEN 9420\r\n9418  M[I,K]=J\r\n9420  RETURN\r\n9422  V=I[I]\r\n9424  IF V&#62;1 THEN 9430\r\n9426  GOSUB 9050\r\n9428  PRINT \"   PHASER  \"K\"DISENGAGING.\"\r\n9430  M[I,K]=0\r\n9432  RETURN\r\n9500  REM          ----- TORPEDO TRACKING ROUTINE -----\r\n9502  J=T[I,K]\r\n9504  IF J&#60;100 THEN 9508\r\n9506  J=J-100\r\n9508  IF J=0 THEN 9516\r\n9510  IF I[J]=0 THEN 9522\r\n9512  GOSUB 9100\r\n9514  U[I,K]=FNC(B-C[I])\r\n9516  IF U[I,K]&#60;135 OR U[I,K]&#62;225 OR Z[I,5] THEN 9520\r\n9518  T[I,K]=J\r\n9520  RETURN\r\n9522  V=I[I]\r\n9524  IF V&#62;1 THEN 9530\r\n9526  GOSUB 9050\r\n9528  PRINT \"   TUBE  \"K\"DISENGAGING.\"\r\n9530  T[I,K]=0\r\n9532  RETURN\r\n9600  REM          ----- PHASER HIT FACTOR SUBROUTINE -----\r\n9602  F=0\r\n9604  F1=M[I,K1+2]*Q[I,K]*.01\r\n9606  GOSUB 9100\r\n9608  F2=1000\r\n9610  G2=SQR((X[I]-X[J])^2+(Y[I]-Y[J])^2)\r\n9612  IF G2&#62;F2 THEN 9622\r\n9614  F3=M[I,K1+1]\r\n9616  G3=FNC(C[I]+N[I,K]-B)\r\n9618  IF G3&#62;F3 AND 360-G3&#62;F3 THEN 9622\r\n9620  F=INT(F1*SQR(1-G2\/F2)*45\/F3)\r\n9622  RETURN\r\n9999  END\r\n\r\n\r\n&#60;strong&#62;REM TREK1&#60;\/strong&#62;\r\n\r\n\r\n10  COM A$[20],B$[20],C$[20],M$[20],O$[20],P$[20]\r\n12  COM Q$[20],R$[20],S$[20],V$[20],X$[72],Y$[72],Z$[72]\r\n14  COM A[50],B[50],C[50],D[50],E[50],F[50],G[10],H[10],I[50],J[50]\r\n16  COM K[50],L[50],M[10,6],N[10,4],O[10],P[10],Q[10,4],R[10,4]\r\n18  COM S[10,8],T[10,9],U[10,6],V[10,6],W[10],X[50],Y[50],Z[10,10]\r\n20  COM A,D1,D2,I,I1,I2,K1,K2,K3,K4,N,N1,N2,O,O1,O2,P1,P2,P3,P4\r\n22  COM T0,T1,T2,T3,T4,T5,T6,T7,T8,T9\r\n24  REM\r\n26  REM    TREK73:  AN ADVANCED STAR TREK BATTLE SIMULATION\r\n28  REM  PROGRAMMED BY WILLIAM K. CHAR AND ASSOCIATES, WILSON\r\n30  REM  EDP, 400 MANSELL, SAN FRAN, CA 94134, (415) 230-6460\r\n32  REM  26 NOVEMBER 1973 ***FOR AUTHORISED PERSONNEL ONLY***\r\n34  REM\r\n36  DEF FNA(X)=X*1.74533E-02\r\n38  DEF FNB(X)=X*57.2958\r\n40  DEF FNC(X)=X-INT(X*2.77778E-03)*360\r\n42  DEF FNR(X)=INT(X*RND(1))+1\r\n44  REM\r\n95  GOTO O OF 100,200,300,400,500,600,700,800,900,1000\r\n100  REM  ----- (1) FIRE BANKS -----\r\n102  PRINT \"   FIRE PHASERS [1-4] \";\r\n104  GOSUB 9300\r\n106  IF W=0 THEN 4002\r\n108  PRINT \"   SPREAD [05-45] \";\r\n110  ENTER T3,T,B\r\n112  PRINT\r\n114  IF T&#60;0 THEN 4002\r\n116  IF B&#60;5 OR B&#62;45 THEN 4006\r\n118  M[I,K1+1]=B\r\n120  L1=0\r\n122  FOR L=1 TO W\r\n124  K=W[L]\r\n126  IF K&#60;1 OR K&#62;K1 THEN 136\r\n128  IF M[I,K]&#60;0 THEN 136\r\n129  IF M[I,K] &#62;= 100 THEN 144\r\n130  M[I,K]=M[I,K]+100\r\n132  GOSUB 9400\r\n134  IF M[I,K] &#62;= 100 THEN 144\r\n136  IF L1 THEN 142\r\n138  PRINT \"COMPUTER:  PHASER(S)  \";\r\n140  L1=1\r\n142  PRINT K;\r\n144  NEXT L\r\n146  IF L1=0 THEN 4100\r\n148  PRINT \"UNABLE TO FIRE.\"\r\n150  GOTO 4100\r\n200  REM  ----- (2) FIRE TUBES -----\r\n202  PRINT \"   FIRE TUBES [1-6] \";\r\n204  GOSUB 9300\r\n206  IF W=0 THEN 4002\r\n208  L1=0\r\n210  FOR L=1 TO W\r\n212  K=W[L]\r\n214  IF K&#60;1 OR K&#62;K2 THEN 232\r\n216  IF T[I,K]&#60;0 OR V[I,K]=0 THEN 224\r\n217  IF T[I,K] &#62;= 100 THEN 232\r\n218  T[I,K]=T[I,K]+100\r\n220  GOSUB 9500\r\n222  IF T[I,K] &#62;= 100 THEN 232\r\n224  IF L1 THEN 230\r\n226  PRINT \"COMPUTER:  TUBE(S)  \";\r\n228  L1=1\r\n230  PRINT K;\r\n232  NEXT L\r\n234  IF L1=0 THEN 4100\r\n236  PRINT \"UNABLE TO FIRE.\"\r\n238  GOTO 4100\r\n300  REM  ----- (3) LOCK PHASERS -----\r\n302  IF Z[I,1] THEN 4014\r\n304  PRINT \"   LOCK PHASERS [1-4] \";\r\n306  GOSUB 9300\r\n308  IF W=0 THEN 4002\r\n310  PRINT \"   ON [WHOM] \";\r\n312  GOSUB 9000\r\n314  IF V1&#62;10 THEN 4010\r\n316  L1=0\r\n318  FOR L=1 TO W\r\n320  K=W[L]\r\n322  IF K&#60;1 OR K&#62;K1 THEN 332\r\n324  IF M[I,K]&#60;0 THEN 332\r\n326  M[I,K]=V1\r\n328  GOSUB 9400\r\n330  IF M[I,K]&#62;0 THEN 340\r\n332  IF L1 THEN 338\r\n334  PRINT \"COMPUTER:  PHASER(S)  \";\r\n336  L1=1\r\n338  PRINT K;\r\n340  NEXT L\r\n342  IF L1=0 THEN 4100\r\n344  PRINT \"UNABLE TO LOCK.\"\r\n346  GOTO 4100\r\n400  REM  ----- (4) LOCK TUBES -----\r\n402  IF Z[I,1] THEN 4014\r\n404  PRINT \"   LOCK TUBES [1-6] \";\r\n406  GOSUB 9300\r\n408  IF W=0 THEN 4002\r\n410  PRINT \"   ON [WHOM] \";\r\n412  GOSUB 9000\r\n414  IF V1&#62;10 THEN 4010\r\n416  L1=0\r\n418  FOR L=1 TO W\r\n420  K=W[L]\r\n422  IF K&#60;1 OR K&#62;K2 THEN 432\r\n424  IF T[I,K]&#60;0 THEN 432\r\n426  T[I,K]=V1\r\n428  GOSUB 9500\r\n430  IF T[I,K]&#62;0 THEN 440\r\n432  IF L1 THEN 438\r\n434  PRINT \"COMPUTER:  TUBE(S)  \";\r\n436  L1=1\r\n438  PRINT K;\r\n440  NEXT L\r\n442  IF L1=0 THEN 4100\r\n444  PRINT \"UNABLE TO LOCK.\"\r\n446  GOTO 4100\r\n500  REM  ----- (5) TURN PHASERS -----\r\n502  PRINT \"   TURN PHASERS [1-4] \";\r\n504  GOSUB 9300\r\n506  PRINT \"   TO [0-360] \";\r\n508  ENTER T2,T,B\r\n510  PRINT\r\n512  IF T&#60;0 THEN 4002\r\n514  IF B&#60;0 OR B &#62;= 360 THEN 4010\r\n516  L1=0\r\n518  FOR L=1 TO W\r\n520  K=W[L]\r\n521  IF K&#60;1 OR K&#62;K1 THEN 530\r\n522  IF M[I,K]&#60;0 THEN 530\r\n524  M[I,K]=0\r\n526  N[I,K]=B\r\n528  GOTO 538\r\n530  IF L1 THEN 536\r\n532  PRINT \"COMPUTER:  PHASER(S)  \";\r\n534  L1=1\r\n536  PRINT K;\r\n538  NEXT L\r\n540  IF L1=0 THEN 4100\r\n542  PRINT \"UNABLE TO TURN.\"\r\n544  GOTO 4100\r\n600  REM  ----- (6) TURN TUBES -----\r\n602  PRINT \"   TURN TUBES [1-4] \";\r\n604  GOSUB 9300\r\n606  PRINT \"   TO [0-360] \";\r\n608  ENTER T2,T,B\r\n610  PRINT\r\n612  IF T&#60;0 THEN 4002\r\n614  IF B&#60;0 OR B &#62;= 360 THEN 4010\r\n616  L1=0\r\n618  FOR L=1 TO W\r\n620  K=W[L]\r\n621  IF K&#60;1 OR K&#62;K2 THEN 630\r\n622  IF T[I,K]&#60;0 THEN 630\r\n624  T[I,K]=0\r\n626  U[I,K]=B\r\n628  GOTO 638\r\n630  IF L1 THEN 636\r\n632  PRINT \"COMPUTER:  TUBE(S)  \";\r\n634  L1=1\r\n636  PRINT K;\r\n638  NEXT L\r\n640  IF L1=0 THEN 4100\r\n642  PRINT \"UNABLE TO TURN.\"\r\n644  GOTO 4100\r\n700  REM  ----- (7) PHASER STATUS -----\r\n702  PRINT '14\"PHASERS\"'14\r\n704  PRINT \"CONTROL\";\r\n706  FOR K=1 TO K1\r\n708  PRINT TAB(8*K+2);\r\n710  IF M[I,K]&#62;0 THEN 722\r\n712  IF M[I,K]=0 THEN 718\r\n714  PRINT \"DAMAGED\";\r\n716  GOTO 728\r\n718  PRINT \"MANUAL\";\r\n720  GOTO 728\r\n722  V=I[M[I,K]]\r\n724  GOSUB 9050\r\n726  PRINT V$[1,7]\r\n728  NEXT K\r\n730  PRINT\r\n732  PRINT \"TURNED\";\r\n734  FOR K=1 TO K1\r\n736  PRINT TAB(8*K+2);INT(N[I,K]);\r\n738  NEXT K\r\n740  PRINT \"  FIRING %S=\"M[I,K1+2]\r\n752  PRINT \"LEVEL\";\r\n754  FOR K=1 TO K1\r\n756  PRINT TAB(8*K+2);INT(Q[I,K]);\r\n758  NEXT K\r\n760  PRINT\r\n762  PRINT \"CHARGE\";\r\n764  FOR K=1 TO K1\r\n766  PRINT TAB(8*K+2);INT(R[I,K]);\r\n768  NEXT K\r\n770  PRINT\r\n772  GOTO 4100\r\n800  REM  ----- (8) TUBE STATUS -----\r\n802  PRINT '14\"TORPEDOES\"'14\r\n804  PRINT \"CONTROL\";\r\n806  FOR K=1 TO K2\r\n808  PRINT TAB(8*K+2);\r\n810  IF T[I,K]&#62;0 THEN 822\r\n812  IF T[I,K]=0 THEN 818\r\n814  PRINT \"DAMAGED\";\r\n816  GOTO 828\r\n818  PRINT \"MANUAL\";\r\n820  GOTO 828\r\n822  V=I[T[I,K]]\r\n824  GOSUB 9050\r\n826  PRINT V$[1,7]\r\n828  NEXT K\r\n830  PRINT\r\n832  PRINT \"TURNED\";\r\n834  FOR K=1 TO K2\r\n836  PRINT TAB(8*K+2);INT(U[I,K]);\r\n838  NEXT K\r\n840  PRINT\r\n842  PRINT \"LEVELS\";\r\n844  FOR K=1 TO K2\r\n846  PRINT TAB(8*K+2);INT(V[I,K]);\r\n848  NEXT K\r\n850  PRINT\r\n852  PRINT \"LAUNCH SPEED\"T[I,K2+1]\r\n854  PRINT \"  TIME DELAY\"T[I,K2+2]\r\n856  PRINT \"  PROX DELAY\"T[I,K2+3]\r\n858  GOTO 4100\r\n900  REM  ----- (9) LOAD\/UNLOAD TUBES -----\r\n902  PRINT \"   [LOAD OR UNLOAD?] \";\r\n904  ENTER T3,T,X$\r\n906  PRINT\r\n908  X=1\r\n910  IF X$[1,1]=\"L\" THEN 918\r\n912  X=-1\r\n914  IF X$[1,1]#\"U\" THEN 4006\r\n916  IF X&#60;0 THEN 938\r\n918  PRINT \"   [T*,UNITS (10-15)] \";\r\n920  GOSUB 9300\r\n922  IF W=0 THEN 930\r\n924  K0=(W[1]*10)+W[2]\r\n926  IF K0&#60;10 OR K0&#62;15 THEN 938\r\n928  GOTO 936\r\n930  IF LEN(X$)=0 THEN 938\r\n932  IF X$[1,1]#\"T\" THEN 4006\r\n934  GOTO 938\r\n936  X=2\r\n938  PRINT \"   TUBES [1-6] \";\r\n940  GOSUB 9300\r\n942  IF W=0 THEN 4006\r\n944  FOR L=1 TO W\r\n946  K=W[L]\r\n948  IF K&#60;1 OR K&#62;2 THEN 978\r\n950  IF T[I,K]&#60;0 THEN 978\r\n952  IF X&#62;0 THEN 964\r\n954  Y=V[I,K] MIN H[I]-F[I]\r\n956  V[I,K]=V[I,K]-Y\r\n958  F[I]=F[I]+Y\r\n960  H[I]=H[I]+Y\r\n962  GOTO 978\r\n964  IF X&#62;1 THEN 970\r\n966  Y=10-V[I,K] MIN F[I]\r\n968  GOTO 972\r\n970  Y=K0-V[I,K] MIN F[I]\r\n972  V[I,K]=V[I,K]+Y\r\n974  F[I]=F[I]-Y\r\n976  H[I]=H[I]-Y\r\n978  NEXT L\r\n980  PRINT \"SCOTT:  TUBE UNITS NOW  \";\r\n982  FOR K=1 TO K2\r\n984  IF T[I,K]&#60;0 THEN 990\r\n986  PRINT INT(V[I,K]);\r\n988  GOTO 992\r\n990  PRINT \" --   \";\r\n992  NEXT K\r\n994  PRINT \"FUEL @ \"INT(F[I])\r\n996  GOTO 4100\r\n1000  REM  ----- (10) LAUNCH PROBE -----\r\n1002  IF Z[I,3] THEN 4018\r\n1004  PRINT \"SCOTT:  \"F[I]\"PODS AVAILABLE.\"\r\n1006  IF F[I]&#60;10 THEN 4022\r\n1008  PRINT N$\":  NUMBER OF PODS TO LAUNCH [10-40] IS \";\r\n1010  ENTER T3,T,Q1\r\n1012  PRINT\r\n1014  IF T&#60;0 THEN 4002\r\n1016  PRINT \"   SET TIME DELAY TO [0-15] \";\r\n1018  ENTER T3,T,Q2\r\n1020  PRINT\r\n1022  IF T&#60;0 THEN 4002\r\n1024  PRINT \"   SET PROXIMITY DELAY TO [50-2000] \";\r\n1026  ENTER T3,T,Q3\r\n1028  PRINT\r\n1030  IF T&#60;0 THEN 4002\r\n1032  IF Q1&#60;10 OR Q1&#62;50 OR Q1&#62;F[I] OR Q2&#60;0 OR Q2&#62;15 THEN 4010\r\n1033  IF Q3&#60;0 OR Q3&#62;2000 THEN 4010\r\n1034  GOSUB 9200\r\n1036  PRINT \"   LAUNCH TOWARDS [WHOM, IF ANYONE] \";\r\n1038  GOSUB 9000\r\n1040  IF V1&#62;10 THEN 1052\r\n1042  J=V1\r\n1044  GOSUB 9100\r\n1046  J[I3]=V1\r\n1048  C[I3]=D[I3]=B\r\n1050  GOTO 1062\r\n1052  PRINT \"   COURSE [0-360] \";\r\n1054  ENTER T3,T,D[I3]\r\n1056  PRINT\r\n1058  IF T&#60;0 THEN 4002\r\n1060  IF D[I3]&#60;0 OR D[I3] &#62;= 360 THEN 4010\r\n1062  A[I3]=B[I3]=2\r\n1064  F[I3]=O1\r\n1066  F[I]=F[I]-Q1\r\n1068  H[I]=H[I]-Q1\r\n1070  I[I3]=I[I3]+20\r\n1102  K[I3]=10000-Q2\/D1\r\n1105  L[I3]=Q3\r\n1108  X[I3]=X[I3]+A[I3]*COS(C[I3]*100*D1)\r\n1111  Y[I3]=Y[I3]+A[I3]*SIN(C[I3]*100*D1)\r\n1114  PRINT \"SCOTT:  PROBE #  \"I3\"AWAY.\"\r\n1117  GOTO 4100\r\n4000  REM     ----- ERROR MESSAGES -----\r\n4002  PRINT \"**TIME**\"\r\n4004  GOTO 4100\r\n4006  PRINT \"CHEKOV:  WHAT?\"\r\n4008  GOTO 4100\r\n4010  PRINT \"SPOCK:  BAD PARAMETER(S).\"\r\n4012  GOTO 4100\r\n4014  PRINT \"SPOCK:  QUITE IMPOSSIBLE, \"O$\", OUR COMPUTER IS DEAD.\"\r\n4016  GOTO 4100\r\n4018  PRINT \"SCOTT:  PROBE LAUNCHER DESTROYED.\"\r\n4020  GOTO 4100\r\n4022  PRINT \"SCOTT:  WE'VE NOT ENOUGH POWER.\"\r\n4024  REM\r\n4026  REM     ----- EXIT -----\r\n4028  REM\r\n4100  CHAIN \"*TREK0\"\r\n9000  REM          ----- NAME COMPARISON SUBROUTINE -----\r\n9002  ENTER T3,T,X$\r\n9004  PRINT\r\n9006  IF LEN(X$)=0 THEN 9020\r\n9008  FOR V1=2 TO 10\r\n9010  V=I[V1]\r\n9012  IF  NOT V OR V&#62;10 THEN 9018\r\n9014  GOSUB 9050\r\n9016  IF X$[1,1]=V$[1,1] THEN 9022\r\n9018  NEXT V1\r\n9020  V1=11\r\n9022  RETURN\r\n9050  REM          ----- NAME SELECTION SUBROUTINE -----\r\n9052  RESTORE 9054\r\n9054  DATA \"BISMARK\",\"CENTUAR\",\"DRADDOCK\",\"FORBIN\",\"KREIGER\",\"SHLURG\"\r\n9056  DATA \"TRAKKA\",\"VARNOR\",\"WARRIOR\"\r\n9058  IF V&#62;1 THEN 9064\r\n9060  V$=P$\r\n9062  RETURN\r\n9064  FOR V2=2 TO V\r\n9066  READ V$\r\n9068  NEXT V2\r\n9070  RETURN\r\n9100  REM          ----- BEARING SUBROUTINE -----\r\n9102  X=X[J]-X[I]\r\n9104  Y=Y[J]-Y[I]\r\n9106  IF X=0 THEN 9112\r\n9108  B=ATN(Y\/X)*57.2958\r\n9110  GOTO 9114\r\n9112  B=90\r\n9114  IF X &#62;= 0 AND Y &#62;= 0 THEN 9122\r\n9116  B=B+180\r\n9118  IF X&#60;0 THEN 9122\r\n9120  B=B+180\r\n9122  RETURN\r\n9200  REM          ----- SLOT I SUBROUTINE -----\r\n9202  FOR I3=1 TO I2\r\n9204  IF I[I3]=0 THEN 9216\r\n9206  NEXT I3\r\n9208  PRINT\r\n9210  PRINT \"GAME WILL TERMINATE BECAUSE OF INABILITY TO COPE WITH\"\r\n9212  PRINT \"ALL THE JUNK (VESSELS, PROBES, TORPEDOES, ETC) IN SPACE.\"\r\n9214  STOP\r\n9216  I[I3]=1000\r\n9218  A[I3]=B[I3]=C[I3]=D[I3]=E[I3]=F[I3]=J[I3]=K[I3]=L[I3]=0\r\n9220  X[I3]=X[I]\r\n9222  Y[I3]=Y[I]\r\n9224  FOR I1=I2 TO 1 STEP -1\r\n9226  IF I[I1]&#62;0 THEN 9230\r\n9228  NEXT I1\r\n9230  I[I3]=0\r\n9232  RETURN\r\n9300  REM          ----- CONVERSION SUBROUTINE -----\r\n9302  ENTER T3,T,X$\r\n9304  PRINT\r\n9306  IF LEN(X$)=0 THEN 9336\r\n9308  Y$=\"0123456789\"\r\n9310  MAT W=ZER[10]\r\n9312  W=0\r\n9314  FOR V2=1 TO LEN(X$)\r\n9316  IF X$[V2,V2]=\" \" THEN 9332\r\n9318  IF X$[V2,V2]=\",\" THEN 9332\r\n9320  FOR V3=1 TO 10\r\n9322  IF X$[V2,V2]=Y$[V3,V3] THEN 9328\r\n9324  NEXT V3\r\n9326  GOTO 9332\r\n9328  W=W+1\r\n9330  W[W]=V3-1\r\n9332  NEXT V2\r\n9334  RETURN\r\n9336  W=0\r\n9338  RETURN\r\n9400  REM          ----- PHASER TRACKING SUBROUTINE -----\r\n9402  J=M[I,K]\r\n9404  IF J&#60;100 THEN 9408\r\n9406  J=J-100\r\n9408  IF J=0 THEN 9416\r\n9410  IF I[J]=0 THEN 9422\r\n9412  GOSUB 9100\r\n9414  N[I,K]=FNC(B-C[I])\r\n9416  IF N[I,K]&#60;125 OR N[I,K]&#62;235 OR Z[I,5] THEN 9420\r\n9418  M[I,K]=J\r\n9420  RETURN\r\n9422  V=I[I]\r\n9424  IF V&#62;1 THEN 9430\r\n9426  GOSUB 9050\r\n9428  PRINT \"   PHASER  \"K\"DISENGAGING.\"\r\n9430  M[I,K]=0\r\n9432  RETURN\r\n9500  REM          ----- TORPEDO TRACKING ROUTINE -----\r\n9502  J=T[I,K]\r\n9504  IF J&#60;100 THEN 9508\r\n9506  J=J-100\r\n9508  IF J=0 THEN 9516\r\n9510  IF I[J]=0 THEN 9522\r\n9512  GOSUB 9100\r\n9514  U[I,K]=FNC(B-C[I])\r\n9516  IF U[I,K]&#60;135 OR U[I,K]&#62;225 OR Z[I,5] THEN 9520\r\n9518  T[I,K]=J\r\n9520  RETURN\r\n9522  V=I[I]\r\n9524  IF V&#62;1 THEN 9530\r\n9526  GOSUB 9050\r\n9528  PRINT \"   TUBE  \"K\"DISENGAGING.\"\r\n9530  T[I,K]=0\r\n9532  RETURN\r\n9999  END\r\n\r\n\r\n&#60;strong&#62;REM TREK2&#60;\/strong&#62;\r\n\r\n\r\n10  COM A$[20],B$[20],C$[20],M$[20],O$[20],P$[20]\r\n12  COM Q$[20],R$[20],S$[20],V$[20],X$[72],Y$[72],Z$[72]\r\n14  COM A[50],B[50],C[50],D[50],E[50],F[50],G[10],H[10],I[50],J[50]\r\n16  COM K[50],L[50],M[10,6],N[10,4],O[10],P[10],Q[10,4],R[10,4]\r\n18  COM S[10,8],T[10,9],U[10,6],V[10,6],W[10],X[50],Y[50],Z[10,10]\r\n20  COM A,D1,D2,I,I1,I2,K1,K2,K3,K4,N,N1,N2,O,O1,O2,P1,P2,P3,P4\r\n22  COM T0,T1,T2,T3,T4,T5,T6,T7,T8,T9\r\n24  REM\r\n26  REM    TREK73:  AN ADVANCED STAR TREK BATTLE SIMULATION\r\n28  REM  PROGRAMMED BY WILLIAM K. CHAR AND ASSOCIATES, WILSON\r\n30  REM  EDP, 400 MANSELL, SAN FRAN, CA 94134, (415) 230-6460\r\n32  REM  26 NOVEMBER 1973 ***FOR AUTHORISED PERSONNEL ONLY***\r\n34  REM\r\n36  DEF FNA(X)=X*1.74533E-02\r\n38  DEF FNB(X)=X*57.2958\r\n40  DEF FNC(X)=X-INT(X*2.77778E-03)*360\r\n42  DEF FNR(X)=INT(X*RND(1))+1\r\n44  REM\r\n50  GOTO O-10 OF 1100,1200,1300,1400,1400,1600,1700,1700,1900,2000\r\n1100  REM  ----- (11) PROBE CONTROL -----\r\n1101  K=0\r\n1102  FOR J=1 TO I1\r\n1103  IF I[J]#I[I]+20 THEN 1118\r\n1104  IF K THEN 1108\r\n1105  PRINT\r\n1106  PRINT \"PROBE BEARING RANGE  COURSE TIME  PROX UNITS  TARGET\"\r\n1107  K=1\r\n1108  GOSUB 9100\r\n1109  R=SQR(X*X+Y*Y)\r\n1110  PRINT J;INT(B);INT(R);TAB(21);INT(C[J]);INT((10000-K[J])*D1);\r\n1111  PRINT INT(L[J]);INT(F[J]);\r\n1112  IF J[J]=0 THEN 1117\r\n1113  V=I[J[J]]\r\n1114  GOSUB 9050\r\n1115  PRINT V$\r\n1116  GOTO 1118\r\n1117  PRINT \"NONE\"\r\n1118  NEXT J\r\n1119  PRINT\r\n1120  IF K THEN 1123\r\n1121  PRINT \"SULU:  WHAT PROBES?\"\r\n1122  GOTO 4100\r\n1123  PRINT \"CHEKOV:  DETONATE ALL PROBES?\"\r\n1124  PRINT N$\":  [YES OR NO] \";\r\n1125  ENTER T2,T,X$\r\n1126  PRINT\r\n1127  IF LEN(X$)=0 THEN 1135\r\n1128  IF X$[1,1]=\"N\" THEN 1135\r\n1129  PRINT \"CHEKOV:  AYE, \"O$\".\"\r\n1130  FOR J=1 TO I1\r\n1131  IF I[J]#I[I]+20 THEN 1133\r\n1132  K[J]=10000\r\n1133  NEXT J\r\n1134  GOTO 4100\r\n1135  PRINT \"   CONTROL PROBE [#] \";\r\n1136  ENTER T2,T,J\r\n1137  PRINT\r\n1138  IF T&#60;0 THEN 4002\r\n1139  IF J&#60;1 OR J&#62;I1 THEN 4002\r\n1140  IF I[J]#I[I]+20 THEN 4002\r\n1141  PRINT \"CHEKOV:  DETONATE IT?\";\r\n1142  PRINT N$\":  [YES OR NO] \";\r\n1143  ENTER T2,T,X$\r\n1144  PRINT\r\n1145  IF LEN(X$)=0 THEN 1149\r\n1146  IF X$[1,1]=\"N\" THEN 1149\r\n1147  K[J]=10000\r\n1148  GOTO 4100\r\n1149  PRINT \"   LOCK IT ONTO [WHOM?] \";\r\n1150  GOSUB 9000\r\n1151  IF V1&#62;10 THEN 1155\r\n1152  PRINT \"CHEKOV:  LOCKING.\"\r\n1153  J[J]=V1\r\n1154  GOTO 4100\r\n1155  PRINT \"SET IT TO COURSE [0-360] \";\r\n1156  ENTER T2,T,C\r\n1157  PRINT\r\n1158  IF T&#60;0 THEN 4002\r\n1159  IF C&#60;0 OR C &#62;= 360 THEN 4002\r\n1160  PRINT \"SULU:  SETTING IN NEW COURSE.\"\r\n1161  D[J]=C\r\n1162  J[J]=0\r\n1163  GOTO 4100\r\n1200  REM  ----- (12) *POSITION REPORT -----\r\n1202  REM   (LONGEST NAME)\r\n1204  L=0\r\n1206  FOR J=1 TO N\r\n1208  V=I[J]\r\n1210  IF V=0 OR V&#62;10 THEN 1218\r\n1212  GOSUB 9050\r\n1214  IF LEN(V$)&#60;L THEN 1218\r\n1216  L=LEN(V$)\r\n1218  NEXT J\r\n1219  REM  (REPORT)\r\n1220  PRINT\r\n1222  PRINT TAB(L)\"   WARP COURSE BEARING RANGE\"\r\n1224  FOR J=1 TO I1\r\n1226  V=I[J]\r\n1228  IF V=0 OR V&#62;10 THEN 1262\r\n1230  GOSUB 9050\r\n1231  PRINT TAB(L-LEN(V$));V$\": \";\r\n1232  PRINT  USING 1234;INT(10*A[J]+.5)*.1,INT(C[J]+.5)\r\n1234  IMAGE  #,3D.D,6D,2X\r\n1236  IF J=I THEN 1246\r\n1238  GOSUB 9100\r\n1240  R=SQR(X*X+Y*Y)\r\n1242  PRINT \" \"INT(B+.5);INT(R+.5)\r\n1244  GOTO 1260\r\n1246  IF J[J]=0 THEN 1260\r\n1248  V=I[ABS(J[J])]\r\n1250  GOSUB 9050\r\n1252  IF J[J]&#62;0 THEN 1258\r\n1254  PRINT \"ELUDING \"V$;\r\n1256  GOTO 1260\r\n1258  PRINT \"PURSUING \"V$;\r\n1260  PRINT\r\n1262  NEXT J\r\n1264  I=0\r\n1266  GOTO 4100\r\n1300  REM  ----- (13) *POSITION DISPLAY -----\r\n1302  IF Z[I,2] THEN 4018\r\n1304  PRINT \"   DISPLAY TO [100-7000] \";\r\n1306  ENTER T3,T,Z\r\n1308  PRINT\r\n1310  IF T&#60;0 THEN 1314\r\n1312  IF Z &#62;= 100 AND Z &#60;= 7000 THEN 1318\r\n1314  PRINT \"SPOCK:  DESIGNATE BETWEEN 100 AND 7000.\"\r\n1316  GOTO 1304\r\n1318  X=Z\/10\r\n1320  Y=Z\/6\r\n1322  FOR K=1 TO 21\r\n1324  Y$[K,K]=\" \"\r\n1326  Z$[K,K]=\"-\"\r\n1328  NEXT K\r\n1332  FOR K=6 TO -6 STEP -1\r\n1334  IF ABS(K)=6 THEN 1340\r\n1336  X$=Y$\r\n1338  GOTO 1342\r\n1340  X$=Z$\r\n1342  FOR L=1 TO I1\r\n1344  IF  NOT L[L] OR I=L THEN 1372\r\n1346  IF K#INT((X[L]-Y[I])\/Y+.5) THEN 1372\r\n1348  Z=INT((X[L]-X[I])\/X+10.5)\r\n1350  IF Z&#60;1 OR Z&#62;21 THEN 1372\r\n1352  GOTO INT((I[L]-1)*.1)+1 OF 1354,1360,1364,1368\r\n1354  V=I[L]\r\n1356  GOSUB 9050\r\n1358  GOTO 1370\r\n1360  V$=\"#\"\r\n1362  GOTO 1370\r\n1364  V$=\"*\"\r\n1366  GOTO 1370\r\n1368  V$=\":\"\r\n1370  X$[Z,Z]=V$[1,1]\r\n1372  NEXT L\r\n1374  IF K#0 THEN 1378\r\n1376  X$[I1,I1]=\"+\"\r\n1378  FOR L=21 TO 1 STEP -1\r\n1380  IF X$[L,L]#\" \" THEN 1388\r\n1382  NEXT L\r\n1384  PRINT LIN(-1);\r\n1386  GOTO 1390\r\n1388  PRINT X$[1,L]\r\n1390  NEXT K\r\n1392  PRINT\r\n1394  I=0\r\n1396  GOTO 4100\r\n1400  REM  ----- (14 AND 15) PURSUE OR RUN -----\r\n1402  IF Z[I,1] THEN 4014\r\n1404  IF O=15 THEN 1410\r\n1406  PRINT \"CHEKOV:  PURSUE [WHOM?] \";\r\n1408  GOTO 1412\r\n1410  PRINT \"CHEKOV:  RUN FROM [WHOM?] \";\r\n1412  GOSUB 9000\r\n1414  IF V&#62;10 THEN 4002\r\n1416  PRINT \"   WARP FACTOR [-9 TO 9] \";\r\n1418  ENTER T3,T,Z\r\n1420  PRINT\r\n1422  IF T&#60;0 THEN 4002\r\n1424  IF ABS(Z]&#62;9 THEN 4010\r\n1426  IF ABS(Z) &#62;= 1 AND Z[I,4] THEN 4022\r\n1428  B[I]=Z\r\n1430  J=V1\r\n1432  GOSUB 9100\r\n1434  PRINT \"CHEKOV:  AYE, \"O$\", COMING TO COURSE\";\r\n1436  IF O=15 THEN 1444\r\n1438  PRINT INT(B)\r\n1440  J[I]=J\r\n1442  GOTO 4100\r\n1444  J[I]=-J\r\n1446  PRINT INT(FNC(B+180))\r\n1448  GOTO 4100\r\n1600  REM  ----- (16) MANUAL HELM -----\r\n1602  PRINT \"   HELMSMAN, COME TO COURSE [0-360] \";\r\n1604  ENTER T3,T,Z\r\n1606  PRINT\r\n1608  IF T&#60;0 THEN 4002\r\n1610  IF Z&#60;0 OR Z&#62;360 THEN 4010\r\n1612  D[I]=Z\r\n1614  J[I]=0\r\n1616  PRINT \"   WARP FACTOR [-9 TO 9] \";\r\n1618  ENTER T3,T,Z\r\n1620  PRINT\r\n1622  IF T&#60;0 THEN 4002\r\n1624  IF ABS(Z]&#62;9 THEN 4010\r\n1626  IF ABS(Z) &#62;= 1 AND Z[I,4] THEN 4022\r\n1628  B[I]=Z\r\n1630  PRINT \"SULU:  AYE, \"O$\".\"\r\n1632  GOTO 4100\r\n1700  REM  ----- (17 AND 18) DAMAGE\/SCAN REPORT -----\r\n1702  IF O=18 THEN 1712\r\n1704  J=I\r\n1706  V=I[I]\r\n1708  GOSUB 9050\r\n1710  GOTO 1722\r\n1712  IF Z[I,2] THEN 4018\r\n1714  PRINT \"   SPOCK, SCAN [WHOM?] \";\r\n1716  GOSUB 9000\r\n1718  IF V1&#62;10 THEN 4010\r\n1720  J=V1\r\n1722  PRINT\r\n1724  PRINT \"DAMAGES TO \"V$\":\"\r\n1726  PRINT\r\n1728  RESTORE 1730\r\n1730  DATA \"COMPUTER INOPERABLE\",\"SENSORS ANNAHILATED\"\r\n1732  DATA \"PROBE LAUCHER SHOT\",\"WARP DRIVE DISABLED\"\r\n1734  DATA \"ENGINEERING JETTISONED\"\r\n1736  FOR K=1 TO 5\r\n1738  READ X$\r\n1740  IF Z[J,K]=0 THEN 1744\r\n1742  PRINT X$\".  \";\r\n1744  NEXT K\r\n1746  PRINT \"SURVIVORS:\"Z[J,6]\r\n1748  PRINT\r\n1750  PRINT \"PHASERS: \";\r\n1752  FOR K=1 TO K1\r\n1754  IF M[J,K]&#60;0 THEN 1760\r\n1756  PRINT INT(Q[J,K]);\r\n1758  GOTO 1762\r\n1760  PRINT \" XX   \";\r\n1762  NEXT K\r\n1764  PRINT\r\n1766  PRINT \"  TUBES: \";\r\n1768  FOR K=1 TO K2\r\n1770  IF T[J,K]&#60;0 THEN 1776\r\n1772  PRINT INT(V[J,K]);\r\n1774  GOTO 1778\r\n1776  PRINT \" XX   \";\r\n1778  NEXT K\r\n1780  PRINT\r\n1782  PRINT \"SHIELDS: \";\r\n1784  FOR K=1 TO 4\r\n1786  PRINT INT(S[J,K]*S[J,K+4]);\r\n1788  NEXT K\r\n1790  PRINT\r\n1792  PRINT\r\n1794  PRINT \"  EFFICIENCY:\"E[J]\r\n1796  PRINT \"REGENERATION:\"G[J]\r\n1798  PRINT \"FUEL REMAINING:\"INT(F[J]+.5)\r\n1800  PRINT \"FUEL CAPACITY:\"INT(H[J]+.5)\r\n1802  PRINT\r\n1804  GOTO 4100\r\n1900  REM  ----- (19) POWER DISTRIBUTION) -----\r\n1902  PRINT\r\n1904  PRINT \"SCOTT:  REGENERATION RATE IS\"G[I]\r\n1906  MAT W=ZER[4]\r\n1908  PRINT \"   DESIGNATE SHEILD DRAIN (X,X,X,X).\"\r\n1910  PRINT N$\":  SHIELD DRAINS ARE [[0-1] \";\r\n1912  MAT  INPUT W\r\n1914  FOR K=1 TO 4\r\n1916  IF W[K] &#62;= 0 AND W[K] &#60;= 1 THEN 1924\r\n1918  PRINT \"MINIMUM DRAIN FOR SHIELDS IS ZERO (0), MAXIMUM IS ONE (1).\"\r\n1920  PRINT \"TRY AGAIN.\"\r\n1922  GOTO 1908\r\n1924  S[I,K]=W[K]\r\n1926  S[I,K+4]=W[K]*100\r\n1928  NEXT K\r\n1930  MAT W=ZER[K1]\r\n1932  PRINT \"SCOTT:  DESIGNATE PAHASER DRAIN\/DISCHARGE (X,X,X,X).\"\r\n1934  PRINT N$\":  CHARGE\/DISCHARGE RATES ARE [-10 TO 10] \";\r\n1936  MAT INPUT W\r\n1938  FOR K=1 TO K1\r\n1940  IF W[K] &#62;= -10 AND W[K] &#60;= 10 THEN 1948\r\n1942  PRINT \"FOR PHASERS, MAXIMUM DISCHARGE IS -10, MAXIMUM CHARGE IS 10.\"\r\n1944  PRINT \"TRY AGAIN.\"\r\n1946  GOTO 1932\r\n1948  R[I,K]=W[K]\r\n1950  NEXT K\r\n1952  PRINT\r\n1954  GOTO 4100\r\n2000  REM  ----- (20) FIRING PARAMETERS -----\r\n2002  PRINT\r\n2004  PRINT \"CHEKOV:  RESET TUBES, \"O$\"?\"\r\n2006  PRINT N$\":  [YES OR NO] \";\r\n2008  ENTER T2,T,X$\r\n2010  PRINT\r\n2012  IF X$[1,1]=\"\" THEN 2052\r\n2014  IF X$[1,1]=\"N\" THEN 2052\r\n2016  PRINT \"   SET LAUNCH SPEED TO [0-12] \";\r\n2018  ENTER T2,T,Q1\r\n2020  PRINT\r\n2022  IF T&#60;0 THEN 2028\r\n2024  IF Q1&#60;0 OR Q1&#62;12 THEN 2028\r\n2026  T[I,K2+1]=Q1\r\n2028  PRINT \"   ...TIME DELAY TO [0-10] \";\r\n2030  ENTER T2,T,Q2\r\n2032  PRINT\r\n2034  IF T&#60;0 THEN 2040\r\n2036  IF Q2&#60;0 OR Q2&#62;10 THEN 2040\r\n2038  T[I,K2+2]=Q2\r\n2040  PRINT \"   ...PROXIMITY DELAY TO [0-500] \";\r\n2042  ENTER T2,T,Q3\r\n2044  PRINT\r\n2046  IF T&#60;0 THEN 2052\r\n2048  IF Q3&#60;0 OR Q3&#62;500 THEN 2052\r\n2050  T[I,K2+3]=Q3\r\n2052  PRINT \"CHEKOV:  PRESET PHASERS, \"O$\"?\"\r\n2054  PRINT N$\":  [YES OR NO] \";\r\n2056  ENTER T2,T,X$\r\n2058  PRINT\r\n2060  IF X$[1,1]=\"\" THEN 4100\r\n2062  IF X$[1,1]=\"N\" then 4100\r\n2064  PRINT \"   RESET FIRING PERCENTAGE TO [0-100] \";\r\n2066  ENTER T2,T,X\r\n2068  PRINT\r\n2070  IF T&#60;0 THEN 4002\r\n2072  IF X&#60;0 OR X&#62;100 THEN 4010\r\n2074  M[I,K1+2]=X\r\n2076  GOTO 4100\r\n4000  REM     ----- ERROR MESSAGES -----\r\n4002  PRINT \"**TIME**\"\r\n4004  GOTO 4100\r\n4006  PRINT \"CHEKOV:  WHAT?\"\r\n4008  GOTO 4100\r\n4010  PRINT \"SPOCK:  BAD PARAMETER(S).\"\r\n4012  GOTO 4100\r\n4014  PRINT \"SPOCK:  IMPOSSIBLE, \"O$\", OUR COMPUTER IS INOPERABLE.\"\r\n4016  GOTO 4100\r\n4018  PRINT \"SPOCK:  OUR SENSORS ARE DAMAGED.\"\r\n4020  GOTO 4100\r\n4022  PRINT \"SCOTT:  WARP DRIVE IS DEAD.\"\r\n4024  GOTO 4100\r\n4026  REM\r\n4028  REM     ----- EXIT -----\r\n4030  REM\r\n4100  CHAIN \"*TREK0\"\r\n9000  REM\t  ----- NAME COMPARISON SUBROUTINE -----\r\n9002  ENTER T3,T,X$\r\n9004  PRINT\r\n9006  IF LEN(X$)=0 THEN 9020\r\n9008  FOR V1=2 TO 10\r\n9010  V=I[V1]\r\n9012  IF  NOT V OR V&#62;10 THEN 9018\r\n9014  GOSUB 9050\r\n9016  IF X$[1,1]=V$[1,1] THEN 9022\r\n9018  NEXT V1\r\n9020  V1=11\r\n9022  RETURN\r\n9050  REM\t  ----- NAME SELECTION SUBROUTINE -----\r\n9052  RESTORE 9054\r\n9054  DATA \"BISMARK\",\"CENTUAR\",\"DRADDOCK\",\"FORBIN\",\"KREIGER\",\"SHLURG\"\r\n9056  DATA \"TRAKKA\",\"VARNOR\",\"WARRIOR\"\r\n9058  IF V&#62;1 THEN 9064\r\n9060  V$=P$\r\n9062  RETURN\r\n9064  FOR V2=2 TO V\r\n9066  READ V$\r\n9068  NEXT V2\r\n9070  RETURN\r\n9100  REM\t  ----- BEARING SUBROUTINE -----\r\n9102  X=X[J]-X[I]\r\n9104  Y=Y[J]-Y[I]\r\n9106  IF X=0 THEN 9112\r\n9108  B=ATN(Y\/X)*57.2958\r\n9110  GOTO 9114\r\n9112  B=90\r\n9114  IF X &#62;= 0 AND Y &#62;= 0 THEN 9122\r\n9116  B=B+180\r\n9118  IF X&#60;0 THEN 9122\r\n9120  B=B+180\r\n9122  RETURN\r\n9200  REM\t  ----- SLOT I SUBROUTINE -----\r\n9202  FOR I3=1 TO I2\r\n9204  IF I[I3]=0 THEN 9216\r\n9206  NEXT I3\r\n9208  PRINT\r\n9210  PRINT \"GAME WILL TERMINATE BECAUSE OF INABILITY TO COPE WITH\"\r\n9212  PRINT \"ALL THE JUNK (VESSELS, PROBES, TORPEDOES, ETC) IN SPACE.\"\r\n9214  STOP\r\n9216  I[I3]=1000\r\n9218  A[I3]=B[I3]=C[I3]=D[I3]=E[I3]=F[I3]=J[I3]=K[I3]=L[I3]=0\r\n9220  X[I3]=X[I]\r\n9222  Y[I3]=Y[I]\r\n9224  FOR I1=I2 TO 1 STEP -1\r\n9226  IF I[I1]&#62;0 THEN 9232\r\n9228  NEXT I1\r\n9230  I[I3]=0\r\n9232  RETURN\r\n9300  REM\t  ----- CONVERSION SUBROUTINE -----\r\n9302  ENTER T4,T,X$\r\n9304  PRINT\r\n9306  IF LEN(X$)=0 THEN 9336\r\n9308  Y$=\"0123456789\"\r\n9310  MAT W=ZER[10]\r\n9312  W=0\r\n9314  FOR V2=1 TO LEN(X$)\r\n9316  IF X$[V2,V2]=\" \" THEN 9332\r\n9318  IF X$[V2,V2]=\",\" THEN 9332\r\n9320  FOR V3=1 TO 10\r\n9322  IF X$[V2,V2]=Y$[V3,V3] THEN 9328\r\n9324  NEXT V3\r\n9326  GOTO 9332\r\n9328  W=W+1\r\n9330  W[W]=V3-1\r\n9332  NEXT V2\r\n9334  RETURN\r\n9336  W=0\r\n9338  RETURN\r\n9999  END\r\n\r\n\r\n&#60;strong&#62;REM TREK3&#60;\/strong&#62;\r\n\r\n\r\n10  COM A$[20],B$[20],C$[20],M$[20],O$[20],P$[20]\r\n12  COM Q$[20],R$[20],S$[20],V$[20],X$[72],Y$[72],Z$[72]\r\n14  COM A[50],B[50],C[50],D[50],E[50],F[50],G[10],H[10],I[50],J[50]\r\n16  COM K[50],L[50],M[10,6],N[10,4],O[10],P[10],Q[10,4],R[10,4]\r\n18  COM S[10,8],T[10,9],U[10,6],V[10,6],W[10],X[50],Y[50],Z[10,10]\r\n20  COM A,D1,D2,I,I1,I2,K1,K2,K3,K4,N,N1,N2,O,O1,O2,P1,P2,P3,P4\r\n22  COM T0,T1,T2,T3,T4,T5,T6,T7,T8,T9\r\n24  REM\r\n26  REM    TREK73:  AN ADVANCED STAR TREK BATTLE SIMULATION\r\n28  REM  PROGRAMMED BY WILLIAM K. CHAR AND ASSOCIATES, WILSON\r\n30  REM  EDP, 400 MANSELL, SAN FRAN, CA 94134, (415) 230-6460\r\n32  REM  26 NOVEMBER 1973 ***FOR AUTHORISED PERSONNEL ONLY***\r\n34  REM\r\n36  DEF FNA(X)=X*1.74533E-02\r\n38  DEF FNB(X)=X*57.2958\r\n40  DEF FNC(X)=X-INT(X*2.77778E-03)*360\r\n42  DEF FNR(X)=INT(X*RND(1))+1\r\n44  REM\r\n87  GOTO O-20 OF 2100,2200,2300,2400,2500,2600,2700,2800,2900,3000\r\n2100 REM  ----- (21) JETTISON ENGINEERING -----\r\n2102  PRINT\"   MR. SCOTT, JETTISON OUR ENGINEERING SECTION!\"\r\n2104  IF Z[I,5] THEN 4014\r\n2106  PRINT \"SCOTT:  JETTISONNING ENGINEERING.\"\r\n2108  GOSUB 9200\r\n2110  A[I3]=A[I]\r\n2111  B[I]=.999999\r\n2112  B[I3]=0\r\n2114  C[I3]=D[I3]=C[I]\r\n2116  F[I3]=F[I]\r\n2118  F[I]=G[I]=H[I]=0\r\n2120  J[I3]=J[I]+10\r\n2122  K[I3]=10000-15\/D1\r\n2124  Z[I,3]=Z[I,4]=Z[I,5]=1\r\n2126  GOTO 4100\r\n2200  REM  ----- (22) DETONATE ENGINEERING -----\r\n2202  PRINT \"   SCOTTY, DETONATE ENGINEERING!\"\r\n2204  PRINT \"SCOTT:  \";\r\n2206  IF Z[I,5] THEN 2212\r\n2208  PRINT \"WHAT?  IT'S STILL ATTACHED.\"\r\n2210  GOTO 4100\r\n2212  FOR J=1 TO I1\r\n2214  IF I[J]=I[I]+10 THEN 2222\r\n2216  NEXT J\r\n2218  PRINT \"OURS HAS ALREADY DETONATED.\"\r\n2220  GOTO 4100\r\n2222  PRINT \"AYE, \"O$\".\"\r\n2224  K[J]=10000\r\n2226  GOTO 4100\r\n2300  REM  ----- (23) PLAY DEAD -----\r\n2302  PRINT \"   WEAPONS OFFICER, DROP SHILEDS ...\"\r\n2310  IF P1 THEN 2346\r\n2316  PRINT \"   TRANSFER POWER TO [ENGINES OR PHASERS] \";\r\n2318  ENTER T3,T,X$\r\n2320  PRINT\r\n2322  L=-10\r\n2324  IF X$[1,1]=\"E\" THEN 2330\r\n2326  L=10\r\n2328  IF X$[1,1]#\"P\" THEN 4006\r\n2330  FOR K=1 TO 4\r\n2332  S[I,K]=0\r\n2334  NEXT K\r\n2336  FOR K=1 TO K1\r\n2338  R[I,K]=L\r\n2340  NEXT K\r\n2342  P1=1\r\n2344  GOTO 4100\r\n2346  PRINT \"SPOCK:  \"O$\", THE \"R$\"S ARE NOT THAT STUPID.\"\r\n2348  GOTO 4100\r\n2400  REM  ----- (24) CORBOMITE BLUFF(S) -----\r\n2432  IF P2 THEN 2457\r\n2439  PRINT \"   MR. SULU.  STAND BY.\"\r\n2440  PRINT \"SULU:  STANDING BY.\"\r\n2441  P2=1\r\n2456  GOTO 4100\r\n2457  PRINT \"SPOCK:  I DON'T BELIEVE THAT THEY WILL FALL FOR THAT MANOUEVRE\"\r\n2458  PRINT \"   AGAIN, \"O$\".\"\r\n2459  GOTO 4100\r\n2500  REM  ----- (25) SURRENDER ATTEMPT -----\r\n2506  PRINT N$\":  THIS IS CAPTAIN \"N$\" OF THE U.S.S. \"R$\".  WILL\"\r\n2508  PRINT \"   YOU ACCEPT MY UNCONDITIONAL SURRENDER?\"\r\n2510  IF P3 THEN 2522\r\n2512  IF R$#\"ROMULAN\" THEN 2518\r\n2514  PRINT \"SPOCK:  THE \"R$\"S HAVE NOT BEEN KNOWN TO HAVE TAKEN\"\r\n2516  PRINT \"   SURVIVORS.\"\r\n2518  P3=1\r\n2520  GOTO 4100\r\n2522  PRINT \"SPOCK:  THE \"R$\"S HAVE ALREADY REFUSED.\"\r\n2524  GOTO 4100\r\n2600  REM  ----- (26) ASK ENEMY TO SURRENDER -----\r\n2606  PRINT N$\":  THIS IS CAPTAIN \"N$\" OF THE U.S.S. \"R$\".  I GIVE YOU\"\r\n2608  PRINT \"   ONE LAST CHANCE TO SURRENDER BEFORE WE RESUME OUR ATTACK.\"\r\n2610  IF P4 THEN 2616\r\n2612  P4=1\r\n2614  GOTO 4100\r\n2616  PRINT \"SPOCK:  \"O$\", OUR OFFER HAS ALL READY BEEN REFUSED.\"\r\n2618  GOTO 4100\r\n2700  REM  ----- (27) SELF-DESTRUCT SEQUENCE -----\r\n2702  PRINT \"   LIEUTENANT UHURA, TIE IN THE BRIDGE TO THE MASTER\"\r\n2704  PRINT \"   COMPUTER.\"\r\n2705  IF Z[I,1] THEN 4010\r\n2706  PRINT \"UHURA:  AYE, \"O$\".\"\r\n2746  PRINT N$\":  COMPUTER, THIS IS CAPTAIN \"N$\" OF THE U.S.S. \"R$\".\"\r\n2748  PRINT \"  BEGIN TWENTY-SECOND COUNTDOWN, CODE O-O-O, DESTRUCT O.\"\r\n2750  PRINT \"COMPUTER:  20   SECONDS TO SELF-DESTRUCT.\"\r\n2752  K[I]=10000-20\/D1\r\n2754  GOTO 4100\r\n2800  REM  ----- (28) ABORT SELF-DESTRUCT -----\r\n2802  PRINT \"   COMPUTER, THIS IS CAPTAIN \"N$\" OF THE U.S.S. \"R$\".\"\r\n2804  PRINT \"   CODE 1-2-3 CONTINUITY ABORT DESTRUCT ORDER, REPEAT:\"\r\n2806  PRINT \"   CODE 1-2-3 CONTINUITY ABORT DESTRUCT ORDER!\"\r\n2808  IF Z[I,1] THEN 4010\r\n2810  IF K[I]&#62;10000-20\/D1 THEN 2818\r\n2812  PRINT \"COMPUTER:  SELF-DESTRUCT SEQUENCE CODE 1 HAS NOT BEEN\"\r\n2814  PRINT \"   INITIATED.\"\r\n2816  GOTO 4100\r\n2818  PRINT \"COMPUTER:  DESTRUCT ORDER ... \";\r\n2820  ENTER T5,R,X$\r\n2822  IF K[I]&#60;10000-5\/D1 THEN 2830\r\n2824  PRINT\r\n2826  PRINT \"SPOCK:  TOO LATE, CAPTAIN...\"\r\n2828  GOTO 4100\r\n2830  PRINT \"ABORTED.  DESTRUCT ORDER ABORTED.\"\r\n2832  K[I]=60\r\n2834  GOTO 4100\r\n2900  REM  ----- (29) BRIEFING -----\r\n2902  RESTORE 2804\r\n2904  DATA \"FIRE PHASERS\",\"FIRE PHOTON TORPEDOES\"\r\n2906  DATA \"LOCK PHASERS ONTO TARGET\",\"LOCK TUBES ONTO TARGET\"\r\n2908  DATA \"MANUALLY ROTATE PHASERS\",\"MANUALLY ROTATE TUBES\"\r\n2910  DATA \"PHASER STATUS\",\"TUBE STATUS\"\r\n2912  DATA \"LOAD\/UNLOAD TORPEDO TUBES\"\r\n2914  DATA \"LAUNCH ANTIMATTER PROBE\"\r\n2916  DATA \"PROBE CONTROL (DETONATE\",\" DIRECT\",\" LOCK)\"\r\n2918  DATA \"*POSITION REPORT\",\"*POSITION DISPLAY\"\r\n2920  DATA \"PURSUE AN ENEMY VESSEL\",\"RUN FROM AN ENEMY VESSEL\"\r\n2922  DATA \"MANUALLY CHANGE COURSE AND SPEED\"\r\n2924  DATA \"DAMAGE REPORT\",\"SCAN ENEMY (DAMAGE REPORT OF ENEMY)\"\r\n2926  DATA \"ALTER POWER DISTRIBUTION\"\r\n2928  DATA \"ALTER TORPEDO AND PHASER FIRING PARAMETERS\"\r\n2930  DATA \"JETTISON ENGINEERING\",\"DETONATE ENGINEERING\"\r\n2932  DATA \"ATTEMPT DEFENCELESS RUSE\",\"ATTEMPT CORBOMITE BLUFF(S)\"\r\n2934  DATA \"SURRENDER\",\"ASK ENEMY OT SURRENDER\"\r\n2936  DATA \"INITIATE SELF-DESTRUCT SEQUENCE\",\"ABORT SELF-DESTRUCT\"\r\n2938  DATA \"*REPRINTS ABOVE LIST\"\r\n2940  PRINT\r\n2942  PRINT \"CODE        COMMAND\"\r\n2944  PRINT\r\n2946  FOR K=1 TO 29\r\n2948  READ X$\r\n2950  PRINT K;X$\r\n2952  IF K-INT(K\/10)*10 THEN 2956\r\n2954  PRINT\r\n2956  NEXT K\r\n2958  PRINT\r\n2960  PRINT \"*DOES NOT USE A TURN\"\r\n2962  PRINT\r\n2964  I=0\r\n2966  CHAIN \"*TREK0\"\r\n3000  REM  ----- (30) RESET SHIELDS -----\r\n3010  PRINT \"SCOTTY, RESET THE SHIELDS TO FULL!\"\r\n3020  PRINT \"SCOTT:  AYE, \"O$\".\"\r\n3030  FOR K=1 TO 4\r\n3040  S[I,K]=1\r\n3050  S[I,K+4]=100\r\n3060  NEXT K\r\n3070  GOTO 4100\r\n4000  REM     ----- ERROR MESSAGES -----\r\n4002  PRINT \"**TIME**\"\r\n4004  GOTO 4100\r\n4006  PRINT \"CHEKOV:  WHAT?\"\r\n4008  GOTO 4100\r\n4010  PRINT \"SPOCK:  OUR COMPUTER IS DOWN.\"\r\n4012  GOTO 4100\r\n4014  PRINT \"SCOTT:  ENGINEERING HAS ALREADY BEEN JETTISONED.\"\r\n4018  REM\r\n4020  REM     ----- EXIT -----\r\n4022  REM\r\n4100  CHAIN \"*TREK0\"\r\n9200  REM\t ----- SLOT I SUBROUTINE -----\r\n9202  FOR I3=1 TO I2\r\n9204  IF I[I3]=0 THEN 9216\r\n9206  NEXT I3\r\n9208  PRINT\r\n9210  PRINT \"GAME WILL TERMINATE BECAUSE OF INABILITY TO COPE WITH\"\r\n9212  PRINT \"ALL THE JUNK (VESSELS, PROBES, TORPEDOES, ETC) IN SPACE.\"\r\n9214  STOP\r\n9216  I[I3]=1000\r\n9218  A[I3]=B[I3]=C[I3]=D[I3]=E[I3]=F[I3]=J[I3]=K[I3]=L[I3]=0\r\n9220  X[I3]=X[I]\r\n9222  Y[I3]=Y[I]\r\n9224  FOR I1=I2 TO 1 STEP -1\r\n9226  IF I[I1]&#62;0 THEN 9232\r\n9228  NEXT I1\r\n9230  I[I3]=0\r\n9232  RETURN\r\n9999  END\r\n\r\n\r\n&#60;strong&#62;REM TREK4&#60;\/strong&#62;\r\n\r\n\r\n10  COM A$[20],B$[20],C$[20],M$[20],O$[20],P$[20]\r\n12  COM Q$[20],R$[20],S$[20],V$[20],X$[72],Y$[72],Z$[72]\r\n14  COM A[50],B[50],C[50],D[50],E[50],F[50],G[10],H[10],I[50],J[50]\r\n16  COM K[50],L[50],M[10,6],N[10,4],O[10],P[10],Q[10,4],R[10,4]\r\n18  COM S[10,8],T[10,9],U[10,6],V[10,6],W[10],X[50],Y[50],Z[10,10]\r\n20  COM A,D1,D2,I,I1,I2,K1,K2,K3,K4,N,N1,N2,O,O1,O2,P1,P2,P3,P4\r\n22  COM T0,T1,T2,T3,T4,T5,T6,T7,T8,T9\r\n24  REM\r\n26  REM    TREK73:  AN ADVANCED STAR TREK BATTLE SIMULATION\r\n28  REM  PROGRAMMED BY WILLIAM K. CHAR AND ASSOCIATES, WILSON\r\n30  REM  EDP, 400 MANSELL, SAN FRAN, CA 94134, (415) 230-6460\r\n32  REM  26 NOVEMBER 1973 ***FOR AUTHORISED PERSONNEL ONLY***\r\n34  REM\r\n36  DEF FNA(X)=X*1.74533E-02\r\n38  DEF FNB(X)=X*57.2958\r\n40  DEF FNC(X)=X-INT(X*2.77778E-03)*360\r\n42  DEF FNR(X)=INT(X*RND(1))+1\r\n44  REM\r\n7000  REM      ----- ORDER AND MOVEMENT ROUTINE -----\r\n7005  D1=.25\r\n7010  D2=2\r\n7015  D3=D1*100\r\n7020  FOR D=1 TO D2\/D1\r\n7025  FOR I=1 TO I1\r\n7030  I0=I[I]\r\n7035  IF NOT I0 THEN 7905\r\n7040  M=V=I0-INT((I0-1)*.1)*10\r\n7045  IF I0&#62;10 THEN 7375\r\n7050  IF  NOT Z[I,6] THEN 7675\r\n7055  GOSUB 9050\r\n7060  M$=V$\r\n7065  J=I\r\n7070  REM           ----- PHASER FIRING -----\r\n7075  IF D&#62;K1 THEN 7255\r\n7080  FOR K=1 TO K1\r\n7085  IF M[I,K]&#62;99 THEN 7100\r\n7090  NEXT K\r\n7095  GOTO 7255\r\n7100  GOSUB 9400\r\n7105  IF M[I,K]&#60;100 THEN 7255\r\n7110  REM  (PHASER DAMAGES)\r\n7115  M[I,K]=M[I,K]-100\r\n7120  PRINT \" &#62;\"'7M$\" FRNG PHASERS&#60;\"'7\r\n7125  FOR J=1 TO I1\r\n7130  IF I=J OR  NOT I[J] THEN 7235\r\n7135  GOSUB 9600\r\n7140  IF F=0 THEN 7235\r\n7145  V=I[J]-INT((I[J]-1)*.1)*10\r\n7150  GOSUB 9050\r\n7155  GOTO INT((I[J]-1)\/10)+1 OF 7160,7200,7210,7220\r\n7160  RESTORE 7165\r\n7165  DATA 50,2,20,3,10,3\r\n7170  DATA 1000,\"COMPUTER DESTROYED.\"\r\n7175  DATA 500,\"SENSORS DEMOLISHED.\"\r\n7180  DATA 100,\"PROBE LAUNCHER CRUSHED.\"\r\n7185  DATA 50,\"WARP DRIVE DESTROYED.\"\r\n7190  GOSUB 9800\r\n7195  GOTO 7235\r\n7200  PRINT V$\"'S ENGINEERING HIT.\"\r\n7205  GOTO 7225\r\n7210  PRINT \"HIT ON PROBE\"J\r\n7215  GOTO 7225\r\n7220  PRINT \"HIT ON TORPEDO\"J\r\n7225  F[J]=F[J]-F\/2 MAX 0\r\n7235  NEXT J\r\n7240  Q[I,K]=Q[I,K]-F1\r\n7245  GOTO 7375\r\n7250  REM            ----- TORPEDO FIRNING -----\r\n7255  IF D&#62;K2 THEN 7375\r\n7260  FOR K=1 TO K2\r\n7265  IF T[I,K]&#62;99 THEN 7280\r\n7270  NEXT K\r\n7275  GOTO 7375\r\n7280  GOSUB 9500\r\n7285  IF T[I,K]&#60;100 THEN 7375\r\n7290  IF V[I,K] THEN 7305\r\n7300  GOTO 7375\r\n7305  GOSUB 9200\r\n7310  PRINT \"&#60;&#60;\"'7M$\" FRNG TRPD \";\r\n7311  PRINT  USING 7312;I3\r\n7312  IMAGE  2D,\"&#62;&#62;\"\r\n7315  A[I3]=B[I3]=T[I,K2+1]\r\n7320  C[I3]=D[I3]=FNC(U[J,K]+C[I])\r\n7325  F[I3]=V[I,K]\r\n7330  I[I3]=I0+30\r\n7335  K[I3]=10000-T[I,K2+2]\/D1\r\n7340  L[I3]=T[I,K2+3]\r\n7345  T[I,K]=T[I,K]-100\r\n7350  V[I,K]=0\r\n7355  X[I3]=X[I3]+A[I3]*COS(FNA(C[I3]))*D3\r\n7360  Y[I3]=Y[I3]+A[I3]*SIN(FNA(C[I3]))*D3\r\n7365  REM            ----- ANTIMATTER EFFECTS -----\r\n7370  REM  (TIME FUSE)\r\n7375  K0=K[I]=K[I]+1\r\n7380  IF K0&#62;10000 THEN 7450\r\n7385  REM  (PROXIMITY FUSE)\r\n7390  L0=L[I]\r\n7395  IF  NOT L0 THEN 7675\r\n7400  FOR J=1 TO I1\r\n7405  J1=I[J]\r\n7410  IF  NOT J1 THEN 7435\r\n7415  IF J1&#62;20 THEN 7435\r\n7420  IF J1=M THEN 7435\r\n7425  IF J=I THEN 7435\r\n7430  IF L0&#62;SQR((X[I]-X[J])^2+(Y[I]-Y[J])^2) THEN 7450\r\n7435  NEXT J\r\n7440  GOTO 7675\r\n7445  REM  (DETONATION)\r\n7450  V=M\r\n7455  GOSUB 9050\r\n7460  M$=V$\r\n7465  GOTO INT((I0-1)*.1)+1 OF 7470,7510,7520,7530\r\n7470  PRINT '7\"+\"'7\"+\"'7M$'7\"+\"'7\"+\"'7\" DESTRUCT.\"\r\n7475  FOR K=1 TO K1\r\n7480  F[I]=F[I]+Q[I,K]\r\n7485  NEXT K\r\n7490  FOR K=1 TO K2\r\n7495  F[I]=F[I]+V[I,K]\r\n7500  NEXT K\r\n7505  GOTO 7235\r\n7510  PRINT '7\"#\"'7\"#\"'7M$\"'S ENGINEERING\"'7\"#\"'7\"#\"'7\r\n7515  GOTO 7535\r\n7520  PRINT \"**\"'7\"  \"I\"**\"'7\r\n7525  GOTO 7535\r\n7530  PRINT '7\"::  \"I'7\"::\"\r\n7535  FOR J=1 TO I1\r\n7540  IF I#ABS(J[J]) THEN 7550\r\n7545  J[J]=0\r\n7550  NEXT J\r\n7555  REM  (ANTIMATTER DAMAGES)\r\n7560  FOR J=1 TO I1\r\n7565  IF I[J]=0 OR I=J THEN 7655\r\n7570  GOSUB 9700\r\n7575  IF F=0 THEN 7655\r\n7580  V=I[J]-INT((I[J]-1)*.1)*10\r\n7585  GOSUB 9050\r\n7590  GOTO INT((I[J]-1)*.1)+1 OF 7595,7635,7645,7650\r\n7595  RESTORE 7600\r\n7600  DATA 100,3,10,2,7,6\r\n7605  DATA 1500,\"COMPUTER BANKS PIERCED.\"\r\n7610  DATA 750,\"SENSORS SMASHED.\"\r\n7615  DATA 150,\"PROBE LAUNCHER SHOT OFF.\"\r\n7620  DATA 75,\"WARP DRIVE DISABLED.\"\r\n7625  GOSUB 9800\r\n7630  GOTO 7655\r\n7635  PRINT \"HIT ON \"V$\"'S JETTISONED ENGINEERING\"\r\n7640  GOTO 7650\r\n7645  PRINT \"HIT ON PROBE\"I\r\n7650  K[J]=9999\r\n7655  NEXT J\r\n7660  I[I]=0\r\n7665  GOTO 7905\r\n7670  REM            ----- MOVEMENT SIMULATION -----\r\n7675  A0=A[I]\r\n7680  B0=B[I]\r\n7685  C0=C[I]\r\n7690  GOTO INT((I0-1)*.1)+1 OF 7695,7880,7850,7890\r\n7695  D0=D[I]\r\n7700  F0=F[I]\r\n7705  J0=J[I]\r\n7710  Z0=Z[I,4]\r\n7715  REM  (FUEL CONSUMPTION)\r\n7720  IF ABS(B0)&#60;1 THEN 7760\r\n7725  IF Z0 THEN 7750\r\n7730  F[I]=F0=F0-ABS(B0)*E[I]*D1\r\n7735  IF F0 &#62;= 0 THEN 7760\r\n7740  F[I]=0\r\n7745  PRINT M$\"'S WARP DRIVE BURNING OUT.\"\r\n7750  B[I]=B0=SGN(B0)*(ABS(B0) MIN .99)\r\n7755  REM  (AUTO PILOT)\r\n7760  IF J0=0 THEN 7800\r\n7765  J=ABS(J0)\r\n7770  GOSUB 9100\r\n7775  IF J0&#62;0 THEN 7790\r\n7780  D0=FNC(B+180)\r\n7785  GOTO 7800\r\n7790  D0=B\r\n7795  REM  (TURN RATE)\r\n7800  IF C0=D0 THEN 7880\r\n7805  C1=FNC(D0-C0)\r\n7810  IF C1&#60;180 THEN 7820\r\n7815  C1=C1-360\r\n7820  C2=(10-ABS(B0))*5*D1\r\n7821  IF J0=0 THEN 7825\r\n7822  C2=C2+10\r\n7825  IF  NOT Z0 THEN 7835\r\n7830  C2=C2*.5\r\n7835  C[I]=C0=FNC(C0+SGN(C1)*(ABS(C1) MIN C2))\r\n7840  GOTO 7880\r\n7845  REM  (PROBES)\r\n7850  IF  NOT J[I] THEN 7890\r\n7855  J=J[I]\r\n7860  GOSUB 9100\r\n7865  C0=B\r\n7870  GOTO 7890\r\n7875  REM  (ACCELERATION)\r\n7880  A1=B0=A0\r\n7885  A[I]=A0=A0+SGN(A1)*SQR(ABS(A1))*D1\r\n7890  C3=FNA(C0)\r\n7895  X[I]=X[I]+A0*COS(C3)*D3\r\n7900  Y[I]=Y[I]+A0*SIN(C3)*D3\r\n7905  NEXT I\r\n7910  NEXT D\r\n7915  REM     ----- DISTRIBUTION AND WEAPON LOCKS -----\r\n7920  D4=D2\r\n7925  FOR I=1 TO N\r\n7930  IF  NOT I[I] OR I[I]&#62;10 THEN 7985\r\n7935  J=I\r\n7940  GOSUB 9900\r\n7945  FOR K=1 TO K1\r\n7950  IF M[I,K]&#60;0 THEN 7960\r\n7955  GOSUB 9400\r\n7960  NEXT K\r\n7965  FOR K=1 TO K2\r\n7970  IF T[I,K]&#60;0 THEN 7980\r\n7975  GOSUB 9500\r\n7980  NEXT K\r\n7985  NEXT I\r\n7990  REM        ----- SELF-DESTRUCT WARNING -----\r\n7995  IF I[1]#1 THEN 8025\r\n8000  K0=(10000-K[1])*D1\r\n8005  IF K0&#62;15 THEN 8025\r\n8010  IF K0=0 THEN 8025\r\n8015  PRINT \"COMPUTER:  \"K0\"SECONDS TO SELF-DESTRUCT.\"\r\n8020  REM  (RUSES, BLUFFS, SURRENDERS)\r\n8025  IF  NOT P1 THEN 8035\r\n8030  P1=P1+1\r\n8035  IF  NOT P2 THEN 8045\r\n8040  P2=P2+1\r\n8045  IF  NOT P3 THEN 8055\r\n8050  P3=P3+1\r\n8055  IF  NOT P4 THEN 8070\r\n8060  P4=P4+1\r\n8065  REM          ----- END GAME DECISION -----\r\n8070  I=N1=N2=0\r\n8075  REM  (FEDERATION DISPOSITION)\r\n8080  IF I[1]#1 OR  NOT Z[1,6] THEN 8120\r\n8085  IF F[1]&#62;10 AND (Z[1,3]=0 OR Z[1,4]=0) OR G[1]&#62;1 THEN 8130\r\n8090  FOR K=1 TO K1\r\n8095  IF Q[1,K] THEN 8130\r\n8100  NEXT K\r\n8105  FOR K=1 TO K2\r\n8110  IF V[1,K] THEN 8130\r\n8115  NEXT K\r\n8120  O1=1\r\n8125  REM  (ENEMY DISPOSITION)\r\n8130  K0=K[1]\r\n8135  FOR J=2 TO N\r\n8140  IF I[J]=0 OR I[J]&#62;10 OR  NOT Z[J,6] THEN 8195\r\n8145  IF O1 THEN 8210\r\n8150  R=SQR((X[I]-X[J])^2+(Y[1]-Y[J])^2)\r\n8155  IF (R&#62;4500 AND Z[J,4]) OR (R&#62;5500 AND K0&#62;100) THEN 8205\r\n8160  IF F[J]&#62;10 THEN 8210\r\n8165  FOR K=1 TO K1\r\n8170  IF Q[J,K] THEN 8210\r\n8175  NEXT K\r\n8180  FOR K=1 TO K2\r\n8185  IF V[J,K] THEN 8210\r\n8190  NEXT K\r\n8195  N1=N1+1\r\n8200  GOTO 8210\r\n8205  N2=N2+1\r\n8210  NEXT J\r\n8215  IF O1=0 AND N1+N2&#60;A THEN 8535\r\n8220  IF O1=1 AND N1+N2&#60;A THEN 8265\r\n8225  IF O1=0 AND N1=A THEN 8245\r\n8230  IF O1=0 AND N1+N2=A THEN 8255\r\n8235  IF O1=1 AND N1=A THEN 8305\r\n8240  GOTO 8265\r\n8245  O1=2\r\n8250  GOTO 8265\r\n8255  O1=3\r\n8260  REM  (ANYTHING OTHER THAN VESSELS REMAINING)\r\n8265  FOR J=1 TO I1\r\n8270  IF I[J]&#62;10 THEN 8305\r\n8275  NEXT J\r\n8280  PRINT\r\n8285  PRINT \"STARFLEET COMMAND:  \";\r\n8290  ENTER 3,T,A\r\n8295  GOTO O1 OF 8345,8390,8425,8455,8490\r\n8300  REM  (WARNING)\r\n8305  IF O1=O2 THEN 8535\r\n8310  O2=O1\r\n8315  PRINT\r\n8320  GOTO O1 OF 8325,8370,8410,8445,8475\r\n8325  PRINT S$\":  MESSAGE TO THE FEDERATION:  THIS IS COMMANDER \"S$\" OF\"\r\n8330  PRINT \"   THE \"R$\" EMPIRE.  WE HAVE DEFEATED THE \"P$\" AND ARE\"\r\n8335  PRINT \"   DEPARTING THE QUADRANT.\"\r\n8340  GOTO 8535\r\n8345  PRINT \"WE HAVE RECEIVED CONFIRMATION THAT THE\"\r\n8350  PRINT \"   USS \"P$\", CAPTAINED BY \"N$\", WAS DESTROYED\"\r\n8355  PRINT \"   BY \"R$\" BATTLE CRUISERS.  MAY FUTURE FEDERATION\"\r\n8360  PRINT \"   OPFFICERS PERFORM BETTER IN THEIR DUTIES.\"\r\n8365  GOTO 8540\r\n8370  PRINT \"SPOCK:  ALL \"R$\" VESSELS HAVE BEEN EITHER DESTROYED OR\"\r\n8375  PRINT \"   CRIPPLED.  WE STILL, HOWEVER, HAVE ANTIMATTE DEVICESTO\"\r\n8380  PRINT \"   AVOID.\"\r\n8385  GOTO 8535\r\n8390  PRINT \"WE COMMEND CAPTAIN \"N$\" AND HIS CREW\"\r\n8395  PRINT \"   ON THEIR FINE ERFORMANCE AGAINST THE \"R$\"S.  MAY\"\r\n8400  PRINT \"   HE BE AN INSPIRATION TO FUTURE STARSHIP CAPTAINS.\"\r\n8405  GOTO 8540\r\n8410  PRINT \"SULU:  THE \"R$\"S ARE FALLING BEHIND AND SEEM TO BE\"\r\n8415  PRINT \"   BREAKING OFF THEIR ATTACK.\"\r\n8420  GOTO 8535\r\n8425  PRINT \"CAPTAIN \"N$\" OF THE STARSHIP \"P$\" HAS\"\r\n8430  PRINT \"   OUT-MANUEVERED \"R$\" AGGRESSORS.  WE COMMEND HIS\"\r\n8435  PRINT \"   TACTICAL ABILITY.\"\r\n8440  GOTO 8540\r\n8445  PRINT \"UHURA:  I'M INFORMING STARFLEET COMMAND OF OUR DISPOSITION.\"\r\n8450  GOTO 8535\r\n8455  PRINT \"CAPTAIN \"N$\" OF THE STARSHIP \"P$\" HAS\"\r\n8460  PRINT \"   SURRENDERED HIS VESSEL TO THE \"R$\"S.  MAY CAPTAIN\"\r\n8465  PRINT \"   DONSELL BE REMEMBERED.\"\r\n8470  GOTO 8540\r\n8475  PRINT \"SPOCK:  ALTHOUGH THE \"R$\"S HAVE SURRENDERED, THERE ARE\"\r\n8480  PRINT \"   ANTIMATTER DEVICES FLOATING AROUND US.\"\r\n8485  GOTO 8535\r\n8490  PRINT \"WE HAVE RECEIVED WORD FROM THE \"P$\" THAT\"\r\n8495  PRINT \"   THE \"R$\"S HAVE SURRENDERED.\"\r\n8500  GOTO 8540\r\n8505  PRINT\r\n8510  PRINT \"STARFLEET COMMAND:  \";\r\n8515  ENTER 3,T,A\r\n8520  PRINT \"ONE OF OUR VESSELS HAS REPORTED THE WRECKAGE\"\r\n8525  PRINT \"   OF THE \"P$\" AND  \"A\" OTHER VESSEL(S).\"\r\n8530  GOTO 8540\r\n8535  CHAIN \"*TREK0\"\r\n8540  PRINT\r\n8545  L=0\r\n8550  FOR I=1 TO N\r\n8555  V=I[I]\r\n8560  IF V=0 OR V&#62;10 THEN 8590\r\n8565  IF L THEN 8575\r\n8570  PRINT \"SURVIVORS REPORTED:\"\r\n8575  L=1\r\n8580  GOSUB 9050\r\n8585  PRINT \"   \"V$\"--\"Z[I,6]\r\n8590  NEXT I\r\n8595  IF L THEN 8605\r\n8600  PRINT \"*** NO SURVIVORS REPORTED ***\"\r\n8605  PRINT\r\n8610  PRINT \"COMPUTER:  DO YOU DESIRE ANOTHER BATTLE?\"\r\n8615  PRINT \"FUTURE CAPTAIN:  [YES OR NO] \";\r\n8620  ENTER T4,T,X$\r\n8625  PRINT\r\n8630  IF X$[1,1]=\"Y\" THEN 8640\r\n8635  STOP\r\n8640  CHAIN \"*TREK73\"\r\n9050  REM\t  ----- NAME SELECTION SUBROUTINE -----\r\n9052  RESTORE 9054\r\n9054  DATA \"BISMARK\",\"CENTUAR\",\"DRADDOCK\",\"FORBIN\",\"KREIGER\",\"SHLURG\"\r\n9056  DATA \"TRAKKA\",\"VARNOR\",\"WARRIOR\"\r\n9058  IF V&#62;1 THEN 9064\r\n9060  V$=P$\r\n9062  RETURN\r\n9064  FOR V2=2 TO V\r\n9066  READ V$\r\n9068  NEXT V2\r\n9070  RETURN\r\n9100  REM\t  ----- BEARING SUBROUTINE -----\r\n9102  X=X[J]-X[I]\r\n9104  Y=Y[J]-Y[I]\r\n9106  IF X=0 THEN 9112\r\n9108  B=ATN(Y\/X)*57.2958\r\n9110  GOTO 9114\r\n9112  B=90\r\n9114  IF X &#62;= 0 AND Y &#62;= 0 THEN 9122\r\n9116  B=B+180\r\n9118  IF X&#60;0 THEN 9122\r\n9120  B=B+180\r\n9122  RETURN\r\n9200  REM\t  ----- SLOT I SUBROUTINE -----\r\n9202  FOR I3=1 TO I2\r\n9204  IF I[I3]=0 THEN 9216\r\n9206  NEXT I3\r\n9208  PRINT\r\n9210  PRINT \"GAME WILL TERMINATE BECAUSE OF INABILITY TO COPE WITH\"\r\n9212  PRINT \"ALL THE JUNK (VESSELS, PROBES, TORPEDOES, ETC) IN SPACE.\"\r\n9214  STOP\r\n9216  I[I3]=1000\r\n9218  A[I3]=B[I3]=C[I3]=D[I3]=E[I3]=F[I3]=J[I3]=K[I3]=L[I3]=0\r\n9220  X[I3]=X[I]\r\n9222  Y[I3]=Y[I]\r\n9224  FOR I1=I2 TO 1 STEP -1\r\n9226  IF I[I1]&#62;0 THEN 9230\r\n9228  NEXT I1\r\n9230  I[I3]=0\r\n9232  RETURN\r\n9400  REM\t  ----- PHASER TRACKING SUBROUTINE -----\r\n9402  J=M[I,K]\r\n9404  IF J&#60;100 THEN 9408\r\n9406  J=J-100\r\n9408  IF J=0 THEN 9416\r\n9410  IF I[J]=0 THEN 9422\r\n9412  GOSUB 9100\r\n9414  N[I,K]=FNC(B-C[I])\r\n9416  IF N[I,K]&#60;125 OR N[I,K]&#62;235 OR Z[I,5] THEN 9420\r\n9418  M[I,K]=J\r\n9420  RETURN\r\n9422  V=I[I]\r\n9424  IF V&#62;1 THEN 9430\r\n9426  GOSUB 9050\r\n9428  PRINT \"   PHASER  \"K\"DISENGAGING.\"\r\n9430  M[I,K]=0\r\n9432  RETURN\r\n9500  REM\t  ----- TORPEDO TRACKING ROUTINE -----\r\n9502  J=T[I,K]\r\n9504  IF J&#60;100 THEN 9508\r\n9506  J=J-100\r\n9508  IF J=0 THEN 9516\r\n9510  IF I[J]=0 THEN 9522\r\n9512  GOSUB 9100\r\n9514  U[I,K]=FNC(B-C[I])\r\n9516  IF U[I,K]&#60;135 OR U[I,K]&#62;225 OR Z[I,5] THEN 9520\r\n9518  T[I,K]=J\r\n9520  RETURN\r\n9522  V=I[I]\r\n9524  IF V&#62;1 THEN 9530\r\n9526  GOSUB 9050\r\n9528  PRINT \"   TUBE  \"K\"DISENGAGING.\"\r\n9530  T[I,K]=0\r\n9532  RETURN\r\n9600  REM\t  ----- PHASER HIT FACTOR SUBROUTINE -----\r\n9602  F=0\r\n9604  F1=M[I,K1+2]*Q[I,K]*.01\r\n9606  GOSUB 9100\r\n9608  F2=1000\r\n9610  G2=SQR((X[I]-X[J])^2+(Y[I]-Y[J])^2)\r\n9612  IF G2&#62;F2 THEN 9622\r\n9614  F3=M[I,K1+1]\r\n9616  G3=FNC(C[I]+N[I,K]-B)\r\n9618  IF G3&#62;F3 AND 360-G3&#62;F3 THEN 9622\r\n9620  F=INT(F1*SQR(1-G2\/F2)*45\/F3)\r\n9622  RETURN\r\n9700  REM\t  ----- ANTIMATTER HIT FACTOR SUBROUTINE -----\r\n9702  F=0\r\n9703  F1=F[I]*5\r\n9704  G2=SQR((X[I]-X[J])^2+(Y[I]-Y[J])^2)\r\n9706  F2=F1*10\r\n9708  IF G2&#62;F2 THEN 9712\r\n9710  F=INT(F1*SQR(1-G2\/F2))\r\n9712  RETURN\r\n9800  REM\t  ----- DAMAGE ASSESSMENT SUBROUTINE -----\r\n9802  GOSUB 9100\r\n9804  B1=FNC(B-C[J]+180)\r\n9806  S=1\r\n9808  IF B1&#60;45 OR B1&#62;315 THEN 9820\r\n9810  S=2\r\n9812  IF B1&#60;135 THEN 9820\r\n9814  S=3\r\n9816  IF B1&#60;225 THEN 9820\r\n9818  S=4\r\n9820  PRINT \"HIT  \"F\"ON \"V$\"'S SHIELD\"S\r\n9822  READ Q1,Q2,Q3,Q4,Q5,Q6\r\n9824  H=F*(1-S[J,S]*S[J,S+4]\/100)\r\n9826  E[J]=E[J]+H\/Q1\r\n9828  F[J]=F[J]+H\/Q2 MAX 0\r\n9830  G[J]=G[J]+H\/Q3 MAX 0\r\n9832  IF S&#62;1 THEN 9836\r\n9834  Q4=Q4*1.5\r\n9836  S[J,S+4]=S[J,S+4]-F\/Q4 MAX 0\r\n9838  Z[J,6]=Z[J,6]-FNR(H*Q5) MAX 0\r\n9839  L9=0\r\n9840  FOR H1=1 TO H\/Q6\r\n9842  L=FNR(K1+K2)\r\n9844  IF L&#62;K1 THEN 9858\r\n9846  IF M[J,L]&#60;0 THEN 9870\r\n9848  M[J,L]=-1\r\n9850  Q[J,L]=R[J,L]=0\r\n9852  IF J&#62;1 THEN 9870\r\n9853  L9=1\r\n9854  PRINT  USING 9855;L\r\n9855  IMAGE  #,\"   PHAS \",D\r\n9856  GOTO 9870\r\n9858  L=L-K1\r\n9860  IF T[J,L]&#60;0 THEN 9870\r\n9862  T[J,L]=-1\r\n9864  V[J,L]=0\r\n9866  IF J&#62;1 THEN 9870\r\n9867  L9=1\r\n9868  PRINT  USING 9869;L\r\n9869  IMAGE  #,\"   TUBE \",D\r\n9870  NEXT H1\r\n9871  IF  NOT L9 THEN 9873\r\n9872  PRINT \"   DAMAGED.\"\r\n9873  FOR L=1 TO 4\r\n9874  READ Q,X$\r\n9876  IF H&#60;FNR(Q) THEN 9886\r\n9878  IF Z[J,L] THEN 9886\r\n9880  Z[J,L]=1\r\n9881  IF J=1 THEN 9884\r\n9882  IF X$[1,1]#\"W\" THEN 9886\r\n9883  PRINT \"[]\";\r\n9884  PRINT \"   \"X$\r\n9886  NEXT L\r\n9888  IF H&#60;40 THEN 9892\r\n9890  K[J]=10000\r\n9892  D4=D1\r\n9894  GOSUB 9900\r\n9896  RETURN\r\n9900  REM\t  ----- DISTRIBUTION SUBROUTINE -----\r\n9902  H=F[J]+G[J]*D4\r\n9904  FOR L=1 TO K1\r\n9906  IF M[J,L]&#60;0 OR R[J,L] &#62;= 0 THEN 9910\r\n9907  Q=-R[J,L]*D4 MIN Q[J,L]\r\n9908  Q[J,L]=Q[J,L]-Q\r\n9909  H=H+Q\r\n9910  NEXT L\r\n9912  FOR L=1 TO 4\r\n9913  IF  NOT S[J,L+4] THEN 9922\r\n9916  H1=S[J,L]*D4 MIN H\r\n9918  H=H-H1\r\n9920  S[J,L]=H1\/D4\r\n9922  NEXT L\r\n9924  IF H=0 THEN 9938\r\n9926  FOR L=1 TO K1\r\n9927  IF Q[J,L] &#62;= 10 THEN 9936\r\n9928  IF M[J,L]&#60;0 THEN 9936\r\n9929  IF R[J,L]&#60;0 THEN 9936\r\n9930  H1=H MIN 10-Q[J,L] MIN R[J,L]*D4\r\n9932  H=H-H1\r\n9934  Q[J,L]=Q[J,L]+H1\r\n9936  NEXT L\r\n9938  F[J]=H MIN H[J]\r\n9940  H=H-F[J]\r\n9942  IF H &#60;= 0 THEN 9958\r\n9944  FOR L=1 TO K1\r\n9946  IF M[J,L]&#60;0 THEN 9956\r\n9948  H1=10-Q[J,L] MIN H\r\n9950  Q[J,L]=Q[J,L]+H1\r\n9952  H=H-H1\r\n9954  IF H &#60;= 0 THEN 9958\r\n9956  NEXT L\r\n9958  RETURN\r\n9999  END\r\n\r\n<\/pre>\n<p><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>HP BASIC Code From Pete Turnbull\u2019s Star Trek page. 1 COM A$[20],B$[20],C$[20],M$[20],O$[20],P$[20] 2 COM Q$[20],R$[20],S$[20],V$[20],X$[72],Y$[72],Z$[72] 3 COM A[50],B[50],C[50],D[50],E[50],F[50],G[10],H[10],I[50],J[50] 4 COM K[50],L[50],M[10,6],N[10,4],O[10],P[10],Q[10,4],R[10,4] 5 COM S[10,8],T[10,9],U[10,6],V[10,6],W[10],X[50],Y[50],Z[10,10] 6 COM A,D1,D2,I,I1,I2,K1,K2,K3,K4,N,N1,N2,O,O1,O2,P1,P2,P3,P4 7 COM T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 8 REM 9 REM TREK73: AN ADVANCED STAR TREK BATTLE SIMULATION 10 REM PROGRAMMED BY WILLIAM K. CHAR AND ASSOCIATES, WILSON 11 REM EDP, 400 &hellip; <a href=\"https:\/\/kermitmurray.com\/trek73\/hp-2000-basic-code\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">HP 2000 BASIC Code<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-113","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/kermitmurray.com\/trek73\/wp-json\/wp\/v2\/pages\/113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kermitmurray.com\/trek73\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kermitmurray.com\/trek73\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kermitmurray.com\/trek73\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kermitmurray.com\/trek73\/wp-json\/wp\/v2\/comments?post=113"}],"version-history":[{"count":1,"href":"https:\/\/kermitmurray.com\/trek73\/wp-json\/wp\/v2\/pages\/113\/revisions"}],"predecessor-version":[{"id":114,"href":"https:\/\/kermitmurray.com\/trek73\/wp-json\/wp\/v2\/pages\/113\/revisions\/114"}],"wp:attachment":[{"href":"https:\/\/kermitmurray.com\/trek73\/wp-json\/wp\/v2\/media?parent=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}