home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / FORTRAN / SUPERT87.ZIP / TRY1.FOR < prev    next >
Encoding:
Text File  |  1986-12-15  |  41.9 KB  |  565 lines

  1.       subroutine try1                                                   5077
  2.  
  3. c    Include 'Tcommon.For'
  4.     %Include Tcommon.For
  5.  
  6.     Character*8 Nhelpl,Nblank,Npass
  7.     Character*4 Cbtype,Idam,Ievas,Ilet,Ihelps,Cdir
  8.  
  9.       Data nhelpl/'7777    '/
  10. 120   call qtime(istart)                                                5115
  11.       if(iok.eq.1)go to 66666                                           5116
  12.       if(nrw.eq.1.and.ntime.lt.29700.and.istart.ge.28800.and.nsw.eq.0)  5117
  13.      1  go to 55500                                                     5118
  14.       if(nrw.eq.1.and.ntime.ge.42300.and.istart.ge.46800.               5119
  15.      1  and.istart.lt.61200.and.nsw.eq.0)go to 55500                    5120
  16.       if(nrw.eq.1.and.istart.ge.29700.and.istart.lt.42300)              5121
  17.      1  call rating(3)                                                  5122
  18.       if(nrw.eq.1.and.istart.ge.47700.and.istart.lt.61200)              5123
  19.      1  call rating(3)                                                  5124
  20.       go to 66666                                                       5125
  21. 55500 write(*,55501)                                                    5126
  22. 55501 format(' you have 15 minutes to finish the game or save it!')     5127
  23.       nsw=1                                                             5128
  24. c     ...ask for command                                                5129
  25. 66666 write(*,99)                                                       5130
  26. 99    format(' command?   ')                                            5131
  27.       READ(*,*,ERR=899,END=4321)ICM 
  28.  
  29. c    if this guy knows about gamesave , do it
  30.  
  31.     if(icm.eq.69) call rstart(2)
  32.       IF(ICM.EQ.XHELP)GO TO 899                                         5133
  33.       IF(ICM.EQ.0.OR.ICM.LT.-1.OR.ICM.GT.22)GO TO 66666                 5134
  34.       IF(ICM.NE.-1)GO TO 140                                            5135
  35. C     ...PRINT COMMANDS                                                 5136
  36.       CALL CPAGE                                                        5137
  37.       WRITE(*,801)                                                      5138
  38. 801   format('  1 - set course/speed               2 - short scan'/     5139
  39.      1'  3 - long scan                      4 - phasers'/               5140
  40.      1'  5 - torpedos                       6 - pulsive beams'/         5141
  41.      1'  7 - travel/wait                    8 - status report'/         5142
  42.      1'  9 - damage control                10 - evasive maneuvers'/     5143
  43.      1' 11 - emergency evasive maneuvers   12 - raise deflectors'/      5144
  44.      1' 13 - drop deflectors               14 - propose truce'/         5145
  45.      1' 15 - short range track             16 - galactic update'/       5146
  46.      1' 17 - plot bearing                  18 - self destruct'/         5147
  47.      1' 19 - transporters                  20 - communications'/        5148
  48.      1' 21 - shuttlecraft                  22 - ship''s computer'/      5149
  49.      1' 23 - autopilot                     24 - orbit black holes'/)    5150
  50. C     ...NO ADD'L INFO REQUIRED                                         5151
  51.       GO TO 120                                                         5152
  52.  
  53.  
  54.  
  55. 140    IF(ICM.EQ.2.OR.ICM.EQ.3.OR.ICM.EQ.9.OR.ICM.EQ.16)CALL CPAGE       5153
  56.       IF(ICM.EQ.17.OR.ICM.EQ.18)CALL CPAGE                              5154
  57.       GO TO (121,150,150,124,125,126,127,150,129,130,131,132,150,150,   5155
  58.      1150,  150,150,138,139,141,142,143),ICM                            5156
  59. C     ...1 COMMAND. REQUEST COURSE AND SPEED. MAKE NECESARY CORRECTIONS.5157
  60. 121   WRITE(*,97)PDEG                                                   5158
  61. 97    FORMAT(' NEW BEARING(',F4.0,')  ')                                5159
  62.       READ(*,*,ERR=898,END=4321)X
  63.       IF(X.EQ.XHELP)GO TO 898                                           5161
  64. 1210  IF(X.LT.360.)GO TO 1211                                           5162
  65.       NNN=360                                                           5163
  66.       NN=X                                                              5164
  67.       XX=X-NN                                                           5165
  68.       X=MOD(NN,NNN)                                                     5166
  69.       X=X+XX                                                            5167
  70.       GO TO 1212                                                        5168
  71. 1211  IF(X.GE.0.)GO TO 1212                                             5169
  72.       X=-X                                                              5170
  73.       NNN=360                                                           5171
  74.       NN=X                                                              5172
  75.       XX=X-NN                                                           5173
  76.       X=MOD(NN,NNN)                                                     5174
  77.       X=360-X-XX                                                        5175
  78. 1212  XDDEG=X                                                           5176
  79. 1213  WRITE(*,96)PSP                                                    5177
  80. 96    FORMAT(' warp factor(',f5.3,')  ')                                5178
  81.       READ(*,*,ERR=897,END=4321)X                                       5179
  82.       IF(X.EQ.XHELP)GO TO 897                                           5180
  83.       IF(X.LT.0.)GO TO 998                                              5181
  84.       XDSP=X                                                            5182
  85.       GO TO 150                                                         5183
  86. C     ...4 COMMAND. GET STRENGTH AND WHETHER FWD OR REAR.               5184
  87. 124   WRITE(*,95)                                                       5185
  88. 95    format(' Energize Phasers'/' Forward or Rear  ')                  5186
  89.       READ(*,94,END=4321)cDIR                                           5187
  90. 94    FORMAT(A1)                                                        5188
  91.       IF(cDIR.EQ.LETR(10))GO TO 1241                                    5189
  92.       IF(cDIR.NE.LETR(4))GO TO 896                                      5190
  93.       IDIR=3                                                            5191
  94.       GO TO 1242                                                        5192
  95. 1241  IDIR=1                                                            5193
  96. C     ...SUBTRAVT ENERGY THAT IS QUEUED TO BE USED IN PREV. CMNDS.      5194
  97. 1242  XNRGY=ENERGY-PNRGY                                                5195
  98.       IF(EFP(1).NE.0.)XNRGY=ENERGY                                      5196
  99. 1243  WRITE(*,91)XNRGY                                                  5197
  100. 91    format(' energy (available=',f8.1,') ')                           5198
  101.       READ(*,*,ERR=895,END=4321)PNRGY                                   5199
  102.       IF(PNRGY.EQ.XHELP)GO TO 895                                       5200
  103.       IF(PNRGY.LT.XNRGY)GO TO 1244                                      5201
  104.       WRITE(*,1245)                                                     5202
  105. 1245  FORMAT(' NOT ENOUGH ENERGY AVAILABLE')                            5203
  106.       GO TO 1243                                                        5204
  107. 1244  IF(PNRGY.GT.0.)GO TO 150                                          5205
  108.       PNRGY=0.                                                          5206
  109.       GO TO 998                                                         5207
  110. 12551 WRITE(*,93)ITORP                                                  5208
  111. 93    format(' photon torpedos'/' how may to fire  (',i2,' max) ')      5209
  112.       READ(*,*,ERR=894,END=4321)MTORPS                                  5210
  113.       IF(MTORPS.EQ.XHELP)GO TO 894                                      5211
  114.       GO TO 12553                                                       5212
  115. 125   IF(ITORP.NE.0)GO TO 12551                                         5213
  116.       WRITE(*,12552)                                                    5214
  117. 12552 FORMAT(' PHOTON TORPEDOS EXPENDED')                               5215
  118.       GO TO 998                                                         5216
  119. 12553 IF(MTORPS.LE.0.OR.MTORPS.GT.ITORP)GO TO 998                       5217
  120. C     ... DTORP IS BRNG ARRAY.                                          5218
  121. 1252  DO 1251    J=1,MTORPS                                             5219
  122. 12522 WRITE(*,89)J                                                      5220
  123. 89    format(' bearing for torpedo ',i3,'   ')                          5221
  124.       read(*,*,ERR=893,END=4321)X                                       5222
  125.       IF(X.EQ.XHELP)GO TO 893                                           5223
  126. C     ...NOTE THAT CANCELLATION OF ONE CAUSES ALL TO BE CANCELLED.      5224
  127.       IF(X.LT.0.OR.X.GE.360.)GO TO 998                                  5225
  128.       DTORP(J)=X                                                        5226
  129. 1251  CONTINUE                                                          5227
  130.       IF(ITFIRE.EQ.0)MINR=0                                             5228
  131.       GO TO 150                                                         5229
  132. C     ...TRACTOR BEAMS. COMPUTER CALCULATES STRENGTH NECESSARY.         5230
  133. 126   WRITE (*,87)                                                      5231
  134. 87    format(' pulsive beams'/' tractor or repulsor  ')                 5232
  135.       READ(*,94,END=4321)cBTYPE                                         5233
  136.       IBTYP=1                                                           5234
  137.       IF(cBTYPE.EQ.LETR(7))GO TO 150                                    5235
  138.       IF(cBTYPE.NE.LETR(4))GO TO 892                                    5236
  139.       IBTYP=2                                                           5237
  140.       XNRGY=ENERGY-PNRGY                                                5238
  141.       IF(ETR(1).NE.0.)XNRGY=ENERGY                                      5239
  142. 1261  WRITE(*,91)XNRGY                                                  5240
  143.       READ(*,*,ERR=891,END=4321)PNRGY                                   5241
  144.       IF(PNRGY.EQ.XHELP)GO TO 891                                       5242
  145.       IF(PNRGY.LT.XNRGY)GO TO 1262                                      5243
  146.       WRITE(*,1245)                                                     5244
  147.       GO TO 1261                                                        5245
  148. 1262  IF(PNRGY.GT.0.)GO TO 1263                                         5246
  149.       PNRGY=0.                                                          5247
  150.       GO TO 998                                                         5248
  151. 1263  IF(KLNGNS.LE.1)GO TO 1264                                         5249
  152.       WRITE(*,9112)                                                     5250
  153. 9112  format(' which klingon?')                                         5251
  154.       read(*,*,ERR=871,END=4321)IBTYPE                                  5252
  155.       IF(IBTYPE.EQ.XHELP)GO TO 871                                      5253
  156.       IF(IBTYPE.LE.0.OR.IBTYPE.GT.KLNGNS)GO TO 998                      5254
  157.       IBTYP=-IBTYPE                                                     5255
  158.       GO TO 150                                                         5256
  159. 1264  IBTYP=-1                                                          5257
  160.       GO TO 150                                                         5258
  161. C     ...TRAVEL. GET NO. OF STARMINUTES.                                5259
  162. 127   WRITE(*,77707)                                                    5260
  163. 77707 format(' travel how many star minutes? ')                         5261
  164.       READ(*,*,ERR=890,END=4321)ITRSTP                                  5262
  165.       IF(ITRSTP.EQ.XHELP)GO TO 890                                      5263
  166.       IF(ITRSTP.GT.0)GO TO 1271                                         5264
  167.       ITRSTP=0                                                          5265
  168.       GO TO 998                                                         5266
  169. 1271  ITRSTP=MAX0(0,ITRSTP-2)                                           5267
  170.       GO TO 150                                                         5268
  171. C     ...DAMAGE CONTROL. NOW POSSIBLE TO REASSIGN REPAIR CREWS.         5269
  172. 129   WRITE(*,77708)                                                    5270
  173. 77708 format(' damage control request? ')                               5271
  174.       READ(*,94,END=4321)IDAM                                           5272
  175.       JDAM=1                                                            5273
  176.       IF(IDAM.EQ.LETR(4))GO TO 150                                      5274
  177.       IF(IDAM.EQ.LETR(11))GO TO 1297                                    5275
  178.       IF(IDAM.NE.NHELPS)GO TO 998                                       5276
  179.       GO TO 875                                                         5277
  180. 1297  JDAM=2                                                            5278
  181. C     CALL CPAGE                                                        5279
  182.       WRITE(*,1291)IPROB1                                               5280
  183. 1291  format(' current priorities are:',10i4)                           5281
  184.       J=1                                                               5282
  185.       K=2                                                               5283
  186.       DO 77720 I=1,5                                                    5284
  187.       WRITE(*,77721)J,NAMD(J),K,NAMD(K)                                 5285
  188. 77721 FORMAT(1X,I2,' - ',A8,5X,I2,' - ',A8)                             5286
  189.       J=J+2                                                             5287
  190.       K=K+2                                                             5288
  191. 77720 CONTINUE                                                          5289
  192. 1293  WRITE(*,77709)                                                    5290
  193. 77709 format(' reassignment? ')                                         5291
  194.       read(*,*,END=4321,ERR=874)IPROB2                                  5292
  195.       IF(IPROB2(1).EQ.XHELP)GO TO 874                                   5293
  196. C     ...CHECK IF SUM <=100.                                            5294
  197.       IS=0                                                              5295
  198.       DO 1295 J=1,10                                                    5296
  199.       IF(IPROB2(J).LT.0)GO TO 998                                       5297
  200. 1295  IS=IS+IPROB2(J)                                                   5298
  201.       IF(IS.LE.100)GO TO 150                                            5299
  202.       WRITE(*,1292)IPROB2                                               5300
  203. 1292  format(' illegal reassignment:',10i4)                             5301
  204.       GO TO 1293                                                        5302
  205. 130   WRITE(*,183)                                                      5303
  206. 183   format(' evasive maneuvers')                                      5304
  207.       GO TO 1305                                                        5305
  208. 131   WRITE(*,88885)                                                    5306
  209. 88885 format(' emergency evasive maneuvers')                            5307
  210. 1305  WRITE(*,77710)                                                    5308
  211. 77710 format(' port,starboard, or reverse ')                            5309
  212.       READ(*,94,ERR=889,END=4321)IEVAS                                  5310
  213.       IEVDR=1                                                           5311
  214.       IF(IEVAS.EQ.LETR(11))GO TO 150                                    5312
  215.       IF(IEVAS.EQ.LETR(4))GO TO 1306                                    5313
  216.       IF(IEVAS.EQ.NHELPS)GO TO 889                                      5314
  217.       IF(IEVAS.NE.LETR(12))GO TO 998                                    5315
  218.       IEVDR=2                                                           5316
  219.       GO TO 150                                                         5317
  220. 1306  IEVDR=3                                                           5318
  221.       GO TO 150                                                         5319
  222. C     ...RAISE DEFLECTORS. NEGATIVE NUMBERS ACCEPTED.                   5320
  223. 132   XNRGY=ENERGY-PNRGY                                                5321
  224. 1322  WRITE(*,81)XNRGY,DEFL                                             5322
  225. 81    format(' raise deflectors'/' energy = ',f7.0,' shields = ',f8.1)  5323
  226.       write(*,77711)                                                    5324
  227. 77711 format(' power to shields? ')                                     5325
  228.       read(*,*,err=888,end=4321)addfl                                   5326
  229.       if(addfl.eq.xhelp)go to 888                                       5327
  230.       if(addfl.lt.xnrgy)go to 150                                       5328
  231.       write(*,1245)                                                     5329
  232.       go to 1322                                                        5330
  233. c     ...self destruct                                                  5331
  234. c 138   call cpage                                                      5332
  235. 138   write(*,1381)                                                     5333
  236. 1381  format(' destruct sequence entered!!!!!!'/                        5334
  237.      1' the enterprise will self destruct in 10 seconds'/               5335
  238.      1' 10'/                                                            5336
  239.      1'   9'/                                                           5337
  240.      1'    8'/                                                          5338
  241.      1'     7'/                                                         5339
  242.      1'      6'/                                                        5340
  243.      1' self destruct in 5 seconds! fail-safe mechanism engaged'/       5341
  244.      1' only the commander can override with his password'/             5342
  245.      1' enter password to continue:')                                   5343
  246. 1384  read(*,1382,end=4321)npass                                        5344
  247. 1382  format(a8)                                                        5345
  248.       if(npass.ne.mpass)go to 887                                       5346
  249.       write(*,1383)                                                     5347
  250. 1383  format('       5'/                                                5348
  251.      1'        4'/                                                      5349
  252.      1'         3'/                                                     5350
  253.      1'          2'/                                                    5351
  254.      1'           1')                                                   5352
  255.       go to 150                                                         5353
  256. c     ...transporters.                                                  5354
  257. 139   if(jjstat.gt.0)go to 994                                          5355
  258.       if(istat.eq.0.or.istat.eq.9999)go to 1397                         5356
  259.       write(*,941)                                                      5357
  260. 941   format(' transporters already in use. retype command when previous5358
  261.      1 order is complete.')                                             5359
  262.       go to 998                                                         5360
  263. 1397  write(*,601)                                                      5361
  264. 601   format(' energize transporters'/' from?[a,i] ')
  265.       read(*,940,err=886,end=4321)ifrom,kfrom                           5363
  266. 940   format(a1,i1)                                                     5364
  267.       if(ifrom.eq.letr(3))go to 1395                                    5365
  268.       if(ifrom.eq.letr(4))go to 1395                                    5366
  269.       if(ifrom.eq.letr(5))go to 1395                                    5367
  270.       if(ifrom.eq.letr(6))go to 1395                                    5368
  271.       if(ifrom.ne.letr(2))go to 886                                     5369
  272. 1395  write(*,1399)                                                     5370
  273. 1399  format(' how many men?[i] ')
  274.       read(*,*,err=885,end=4321)ibmen                                   5372
  275.       if(ibmen.eq.xhelp)go to 885                                       5373
  276.       if(ibmen.le.0)go to 998                                           5374
  277. 13961 write(*,1396)                                                     5375
  278. 1396  format(' to?[a,i] ')
  279.       read(*,940,err=884,end=4321)ito,mto                               5377
  280.       if(ito.eq.letr(3))go to 150                                       5378
  281.       if(ito.eq.letr(4))go to 13905                                     5379
  282.       if(ito.eq.letr(5))go to 150                                       5380
  283.       if(ito.ne.letr(2))go to 884                                       5381
  284.       go to 150                                                         5382
  285. 13905 if(icloak.ne.2.or.mto.ne.1)go to 150                              5383
  286. 13907 write(*,13906)                                                    5384
  287. 13906 format(' type guess coordinates')                                 5385
  288.       read(*,*,err=8835,end=4321)iguess,jguess                          5386
  289.       if(iguess.eq.xhelp)go to 8835                                     5387
  290.       if(iguess.eq.xrom(1,1).and.jguess.eq.xrom(1,2))go to 150          5388
  291.       write(*,13908)                                                    5389
  292. 13908 format(' wrong guess')                                            5390
  293.       go to 998                                                         5391
  294. c     ...intership communications                                       5392
  295. 141   write(*,1401)                                                     5393
  296. 1401  format(' intership communications')                               5394
  297.       go to 1405                                                        5395
  298. 14051 write(*,1406)                                                     5396
  299. 1406  format(' communications intercepted and jammed!')                 5397
  300.       actpjm=actpjm+pjminc                                              5398
  301.       go to 998                                                         5399
  302. 1405  write(*,1396)                                                     5400
  303.       read(*,940,err=883,end=4321)ito,kto                               5401
  304.       lto=3                                                             5402
  305.       if(ito.eq.letr(4))go to 1407                                      5403
  306.       if(ito.eq.letr(5))go to 1408                                      5404
  307.       if(ito.eq.letr(6))go to 1411                                      5405
  308.       if(ito.ne.letr(3))go to 883                                       5406
  309.       go to 1410                                                        5407
  310. 1407  lto=4                                                             5408
  311.       go to 1410                                                        5409
  312. 1408  lto=5                                                             5410
  313.       go to 1410                                                        5411
  314. 1411  lto=6                                                             5412
  315. 1410  write(*,1409)                                                     5413
  316. 1409  format(' message?'/                                               5414
  317.      1'  1 - change course          4 - fire phasers'/                  5415
  318.      1'  5 - fire torpedos          6 - self destruct'/                 5416
  319.      1'  8 - status report          9 - damage report'/                 5417
  320.      1' 12 - raise deflectors      17 - plot bearing')                  5418
  321.       read(*,*,err=882,end=4321)imsg                                    5419
  322.       if(imsg.eq.xhelp)go to 882                                        5420
  323. c     ...enemy intercept message?.                                      5421
  324.       if(klngns.eq.0)go to 14097                                        5422
  325.       do 14098 j=1,klngns                                               5423
  326.       if(icntl(j+1).ne.1.and.xkl(j,1).ne.0.)go to 14095                 5424
  327. 14098 continue                                                          5425
  328. 14097 if(nrom.eq.0)go to 14099                                          5426
  329.       do 14096 j=1,nrom                                                 5427
  330.       if(icntl(j+10).ne.1.and.xrom(j,1).ne.0.)go to 14093               5428
  331. 14096 continue                                                          5429
  332.       go to 14099                                                       5430
  333. 14095 if(ran(izz).gt.actpjm)go to 14097                                 5431
  334.       go to 14051                                                       5432
  335. 14093 if(ran(izz).le.actpjm)go to 14051                                 5433
  336. 14099 go to(14001,998,998,14004,14005,150,998,150,150,998,998,14012,998,5434
  337.      1  998,998,998,14017),imsg                                         5435
  338.       go to 998                                                         5436
  339. c     ...change course. illegal if romulan or base                      5437
  340. 14001 if(lto.eq.4)go to 998                                             5438
  341.       if(lto.eq.6)go to 998                                             5439
  342.       write(*,14020)                                                    5440
  343. 14020 format(' new bearing?')                                           5441
  344.       read(*,*,err=881,end=4321)kbrg                                    5442
  345.       if(kbrg.eq.xhelp)go to 881                                        5443
  346. 14002 if(kbrg.ge.0)go to 14003                                          5444
  347.       kbrg=kbrg+360                                                     5445
  348.       go to 14002                                                       5446
  349. 14003 if(kbrg.lt.360)go to 14021                                        5447
  350.       kbrg=kbrg-360                                                     5448
  351.       go to 14003                                                       5449
  352. 14021 write(*,14022)                                                    5450
  353. 14022 format(' warp factor?')                                           5451
  354.       read(*,*,err=880,end=4321)xwrp                                    5452
  355.       if(xwrp.eq.xhelp)go to 880                                        5453
  356.       if(xwrp.lt.0.)go to 998                                           5454
  357.       go to 150                                                         5455
  358. c     ...fire phasers. illegal if romulan or base.                      5456
  359. 14004 if(lto.eq.4)go to 998                                             5457
  360.       if(lto.eq.6)go to 998                                             5458
  361.       if(lto.ne.5)go to 150                                             5459
  362.       write(*,77712)                                                    5460
  363. 77712 format(' # times to fire? ')                                      5461
  364.       read(*,*,end=4321,err=873)nghtfp                                  5462
  365.       if(nghtfp.eq.xhelp)go to 873                                      5463
  366.       if(nghtfp.le.0)go to 998                                          5464
  367.       go to 150                                                         5465
  368. c     ...fire torpedo. illegal if klingon or base.                      5466
  369. 14005 if(lto.eq.3)go to 998                                             5467
  370.       if(lto.eq.6)go to 998                                             5468
  371.       write(*,14025)                                                    5469
  372. 14025 format(' bearing(s) for torpedo(s)?')                             5470
  373.       do 14024 j=1,5                                                    5471
  374. 14024 rtbrg(j)=-1.                                                      5472
  375.       read(*,*,err=879,end=4321)rtbrg                                   5473
  376.       if(trbrg.eq.xhelp)go to 879                                       5474
  377.       if(rtbrg(1).lt.0.)go to 998                                       5475
  378.       go to 150                                                         5476
  379. c     ...deflectors. ghostship only. neg now okay for lowering.         5477
  380. 14012 if(lto.ne.5)go to 998                                             5478
  381.       write(*,14027)                                                    5479
  382. 14027 format(' power to deflectors?')                                   5480
  383.       read(*,*,err=878,end=4321)sdef                                    5481
  384.       if(sdef.eq.xhelp)go to 878                                        5482
  385.       go to 150                                                         5483
  386. c     ...plot bearing. legal for base only.                             5484
  387. 14017 if(lto.ne.6)go to 998                                             5485
  388.       go to 150                                                         5486
  389. c     ...shuttlecraft.                                                  5487
  390. 142   write(*,1421)                                                     5488
  391. 1421  format(' shuttlecraft command?')                                  5489
  392.       read(*,94,end=4321)ilet                                           5490
  393.       jschm=1                                                           5491
  394.       if(ilet.eq.letr(4))go to 1425                                     5492
  395.       if(ilet.ne.letr(2))go to 877                                      5493
  396. 14211 write(*,1422)                                                     5494
  397. 1422  format(' which star systems')                                     5495
  398.       read(*,*,err=876,end=4321)ishstr                                  5496
  399.       if(ishstr(1).eq.xhelp)go to 876                                   5497
  400.       if(ishstr(1).le.0)go to 998                                       5498
  401.       go to 150                                                         5499
  402. 1425  jschm=2                                                           5500
  403.       go to 150                                                         5501
  404. c     ...computer requests.                                             5502
  405. 143   write(*,77713)                                                    5503
  406. 77713 format(' computer request? ')                                     5504
  407.       read(*,94,end=4321,err=872)ilet                                   5505
  408.       if(ilet.eq.letr(5))go to 1431                                     5506
  409.       if(ilet.eq.letr(6))go to 1432                                     5507
  410.       if(ilet.eq.letr(12))go to 1433                                    5508
  411.       if(ilet.eq.letr(4))go to 1434                                     5509
  412.       if(ilet.eq.letr(13).and.icloak.lt.0)go to 1435                    5510
  413.       if(ilet.eq.letr(7))go to 1436                                     5511
  414.       if(ilet.ne.nhelps)go to 998                                       5512
  415.       go to 872                                                         5513
  416. 1431  jschm=1                                                           5514
  417.       go to 150                                                         5515
  418. 1432  jschm=2                                                           5516
  419.       go to 150                                                         5517
  420. 1433  jschm=3                                                           5518
  421.       go to 150                                                         5519
  422. 1434  jschm=4                                                           5520
  423.       go to 150                                                         5521
  424. 1435  jschm=5                                                           5522
  425.       write(*,77716)                                                    5523
  426. 77716 format(' turn cloaking device on (y or n)?')                      5524
  427.       read(*,94,err=4321)iclkon                                         5525
  428.       if(iclkon.eq.ihelps)go to 870                                     5526
  429.       go to 150                                                         5527
  430. 1436  jschm=6                                                           5528
  431.       go to 150                                                         5529
  432. c     ...end of command input. do things which occurred in the interim. 5530
  433. 150   call qtime(itime)                                                 5531
  434.       nsteps=(itime-istart)                                             5532
  435.       if(nsteps.le.0)nsteps=1                                           5533
  436. 155   istart=itime                                                      5534
  437.       nhold=nhold+nsteps                                                5535
  438.       if(nhold.ge.itfctr)go to 88888                                    5536
  439.       go to 3000                                                        5537
  440. 88888 nsteps=itfctr                                                     5538
  441.       nhold=nhold-itfctr                                                5539
  442. 88890 if(nhold.lt.itfctr)go to 88889                                    5540
  443.       nsteps=nsteps+itfctr                                              5541
  444.       nhold=nhold-itfctr                                                5542
  445.       go to 88890                                                       5543
  446. 88889 call action                                                       5544
  447. 3000  call procm                                                        5545
  448.       nhold=nhold+nsteps                                                5546
  449.       if(nhold.ge.itfctr)go to 88891                                    5547
  450.       go to 88899                                                       5548
  451. 88891 nsteps=itfctr                                                     5549
  452.       nhold=nhold-itfctr                                                5550
  453. 88898 if(nhold.lt.itfctr)go to 88899                                    5551
  454.       nsteps=nsteps+itfctr                                              5552
  455.       nhold=nhold-itfctr                                                5553
  456.       go to 88898                                                       5554
  457. 88899 call action                                                       5555
  458.       if(nhold.ge.itfctr)go to 88891                                    5556
  459.       go to 120                                                         5557
  460. 998   write(*,996)                                                      5558
  461.       pnrgy=0.                                                          5559
  462. 996   format(' +++cancelled+++')                                        5560
  463.       icm=99                                                            5561
  464.       go to 150                                                         5562
  465. 994   write(*,993)letr(jup),jfrom                                       5563
  466. 993   format(' transporters already energized for ',a1,i1,' destruct')  5564
  467.       go to 998                                                         5565
  468. 4321  stop                                                              5566
  469. 899   call help(7777)                                                   5567
  470.       call qtime(istart)                                                5568
  471.       go to 120                                                         5569
  472. 898   call help(25)                                                     5570
  473.       call qtime(istart)                                                5571
  474.       go to 121                                                         5572
  475. 897   call help(26)                                                     5573
  476.       call qtime(istart)                                                5574
  477.       go to 1213                                                        5575
  478. 896   call help(27)                                                     5576
  479.       call qtime(istart)                                                5577
  480.       go to 124                                                         5578
  481. 895   call help(28)                                                     5579
  482.       call qtime(istart)                                                5580
  483.       go to 1243                                                        5581
  484. 894   call help(29)                                                     5582
  485.       call qtime(istart)                                                5583
  486.       go to 12551                                                       5584
  487. 893   call help(30)                                                     5585
  488.       call qtime(istart)                                                5586
  489.       go to 1252                                                        5587
  490. 892   call help(31)                                                     5588
  491.       call qtime(istart)                                                5589
  492.       go to 126                                                         5590
  493. 891   call help(32)                                                     5591
  494.       call qtime(istart)                                                5592
  495.       go to 1261                                                        5593
  496. 890   call help(34)                                                     5594
  497.       call qtime(istart)                                                5595
  498.       go to 127                                                         5596
  499. 889   call help(38)                                                     5597
  500.       call qtime(istart)                                                5598
  501.       go to 1305                                                        5599
  502. 888   call help(39)                                                     5600
  503.       call qtime(istart)                                                5601
  504.       go to 1322                                                        5602
  505. 887   if(npass.ne.nhelpl)go to 998                                      5603
  506.       call help(40)                                                     5604
  507.       call qtime(istart)                                                5605
  508.       go to 1384                                                        5606
  509. 886   if (ifrom.ne.nhelps)go to 998                                     5607
  510.       call help(41)                                                     5608
  511.       call qtime(istart)                                                5609
  512.       go to 139                                                         5610
  513. 885   call help(42)                                                     5611
  514.       call qtime(istart)                                                5612
  515.       go to 1395                                                        5613
  516. 884   call help(43)                                                     5614
  517.       call qtime(istart)                                                5615
  518.       go to 13961                                                       5616
  519. 8835  call help(44)                                                     5617
  520.       call qtime(istart)                                                5618
  521.       go to 13907                                                       5619
  522. 883   call help(45)                                                     5620
  523.       call qtime(istart)                                                5621
  524.       go to 1405                                                        5622
  525. 882   call help(46)                                                     5623
  526.       call qtime(istart)                                                5624
  527.       go to 1410                                                        5625
  528. 881   call help(47)                                                     5626
  529.       call qtime(istart)                                                5627
  530.       go to 14001                                                       5628
  531. 880   call help(48)                                                     5629
  532.       call qtime(istart)                                                5630
  533.       go to 14021                                                       5631
  534. 879   call help(49)                                                     5632
  535.       call qtime(istart)                                                5633
  536.       go to 14005                                                       5634
  537. 878   call help(50)                                                     5635
  538.       call qtime(istart)                                                5636
  539.       go to 14012                                                       5637
  540. 877   call help(52)                                                     5638
  541.       call qtime(istart)                                                5639
  542.       go to 142                                                         5640
  543. 876   call help(53)                                                     5641
  544.       call qtime(istart)                                                5642
  545.       go to 14211                                                       5643
  546. 875   call help(35)                                                     5644
  547.       call qtime(istart)                                                5645
  548.       go to 129                                                         5646
  549. 874   call help(36)                                                     5647
  550.       call qtime(istart)                                                5648
  551.       go to 1293                                                        5649
  552. 873   call help(51)                                                     5650
  553.       call qtime(istart)                                                5651
  554.       go to 14004                                                       5652
  555. 872   call help(54)                                                     5653
  556.       call qtime(istart)                                                5654
  557.       go to 143                                                         5655
  558. 871   call help(33)                                                     5656
  559.       call qtime(istart)                                                5657
  560.       go to 1263                                                        5658
  561. 870   call help(55)                                                     5659
  562.       call qtime(istart)                                                5660
  563.       go to 1435                                                        5661
  564.       end                                                               5662
  565.