C TEXT COMMON COMMON/TORPE/TLOCS(6, 10, 2), TDIR(6, 10), IT(6) COMMON/LEDFOR/ENERGY(6), SHIELD(6), XCORD(6), YCORD(6), TORPS(6), *HX, HY, HW, CDRAIN, NDRAIN, TDRAIN, SCAN(6), PHA(6), I1, I2, HYPER *(6), ISENT(6, 10), XPOD(6), YPOD(6), DPOD(6), IPOD(6), WPOD(6), XH *OM(6, 4), YHOM(6, 4), WHOM(6, 4), NHOM(6), TRBEAM(6), SCORE(6), CR *EW(6), DIR(6), WARP(6), LAUNCH(6), UNIV(80, 80), TH *RU, XSHIP(6), CLOAK(6), NET(6), BHOLE, EMPTY REAL LAUNCH, NDRAIN INTEGER SCAN, WHOM, CREW, HYPER, TORPS, TRBEAM LOGICAL*1THRU, XSHIP, CLOAK, NET C NOTE: BHOLE AND EMPTY ARE THE CHARACTERS FOR THE BLACK HOLE C AND EMPTY SPACE AND ARE SET IN MTREKINI. BYTE UNIV, BHOLE, EMPTY C END COMMON C C MODIFIED TO WRITE TO TERMINAL OR FILE *** SLD 11/30/81 C BYTE U2(80, 80),ANS INTEGER*4ISCORE(6) REAL D(6) WRITE(2,123) 123 FORMAT('$OUTPUT TO TERMINAL OR FILE (T OR F)? ') READ(2,124) ANS 124 FORMAT(A1) CLOSE(UNIT=2) LUN=1 ! DEFAULT IS FILE IF(ANS .EQ. 'T') LUN=2 IF(LUN .EQ. 1) OPEN(UNIT=1,NAME='UNIVERSE.MAP',TYPE='NEW') DO 2000 I = 1, 80 DO 2020 J = 1, 80 IF (.NOT.(UNIV(I, J) .LT. 0)) GOTO 2040 U2(I, J) = '%' GOTO 2050 2040 CONTINUE IF (.NOT.((I .EQ. 1 .OR. I .EQ. 80 .OR. J .EQ. 1 .OR. J .EQ *. 80) .AND. UNIV(I, J) .EQ. EMPTY)) GOTO 2060 U2(I, J) = '-' GOTO 2070 2060 CONTINUE IF (.NOT.(UNIV(I, J) .EQ. EMPTY .AND. EMPTY .EQ. ' ')) GOT *O 2080 U2(I, J) = '.' GOTO 2090 2080 CONTINUE U2(I, J) = UNIV(I, J) 2090 CONTINUE 2070 CONTINUE 2050 CONTINUE 2020 CONTINUE 2030 CONTINUE 2000 CONTINUE 2010 CONTINUE WRITE(LUN, 11) ((U2(I, J), I = 1, 80), J = 80, 1, - 1) 11 FORMAT(1X, 80A1) WRITE(LUN, 12) (I, I = 1, 6) 12 FORMAT(//1X, 6('SHIP: 'I6, 1X)) DO 2100 I = 1, 6 ISCORE(I) = SCORE(I) 2100 CONTINUE 2110 CONTINUE WRITE(LUN, 13) (ISCORE(I), I = 1, 6) 13 FORMAT(1X, 6('SCORE:'I6, 1X)) WRITE(LUN, 14) (XCORD(I), I = 1, 6) 14 FORMAT(1X, 6('X: 'F6.2, 1X)) WRITE(LUN, 144) (YCORD(I), I = 1, 6) 144 FORMAT(1X, 6('Y: 'F6.2, 1X)) WRITE(LUN, 15) (WARP(I), I = 1, 6) 15 FORMAT(1X, 6('WARP: 'F6.2, 1X)) DO 2120 I = 1, 6 IF (.NOT.(DIR(I) .GT. 90.)) GOTO 2140 D(I) = (450. - DIR(I))/30. GOTO 2150 2140 CONTINUE D(I) = (90. - DIR(I))/30. 2150 CONTINUE 2120 CONTINUE 2130 CONTINUE WRITE(LUN, 16) (D(I), I = 1, 6) 16 FORMAT(1X, 6('DIR: 'F6.2, 1X)) WRITE(LUN, 17) (IFIX(ENERGY(I)), I = 1, 6) 17 FORMAT(1X, 6('ENERGY:'I5, 1X)) WRITE(LUN, 18) (SHIELD(I), I = 1, 6) 18 FORMAT(1X, 6('SHIELD:'F5.0, 1X)) WRITE(LUN, 19) (TORPS(I), I = 1, 6) 19 FORMAT(1X, 6('TORPS:'I6, 1X)) WRITE(LUN, 199) (NHOM(I), I = 1, 6) 199 FORMAT(1X, 6('SEEKERS:'I4, 1X)) WRITE(LUN, 20) (HYPER(I), I = 1, 6) 20 FORMAT(1X, 6('HYPER:'I6, 1X)) WRITE(LUN, 21) (CREW(I), I = 1, 6) 21 FORMAT(1X, 6('CREW: 'I6, 1X)) CALL EXIT END