SUBROUTINE MANCNF(CONTIN,OK,STARS,BASES,N) C C SUBROUTINE TO MANUALLY CONFIGURE MTREK C INCLUDE 'TRKCOMMON.FTN' REAL LAUNCH INTEGER SCAN,WHOM,CREW,HYPER,TORPS LOGICAL*1 THRU,XSHIP,CLOAK,CLON,FBASE,OK,CONTIN,SAVE BYTE MESSAG,INITLS,CLRIT(2),CMTS(80),FNAME(30),TNAME(30) DATA TNAME/'T','R','E','K','.','C','N','F',22*0/ DATA CLRIT/"33,'K'/ INTEGER MAXDIM(5) DATA MAXDIM/240,175,145,125,110/ C C IF (CONTIN) GOTO 902 WRITE (5,900) 900 FORMAT (/,'$Enter number of universes (1): ') CALL GETINT(IUNIMX,OK,1,5) IF (.NOT.OK) IUNIMX=1 WRITE (5,901) 901 FORMAT ('$Enter universe size (100): ') CALL GETINT(IMAXX,OK,50,MAXDIM(IUNIMX)) IF (.NOT.OK) IMAXX=100 IMAXY=IMAXX 902 WRITE (5,10011) 10011 FORMAT ('$Enter star density of universe parts per 100 (2.5): ') CALL GETREL(STARS,OK,0.,15.) IF (.NOT.OK) STARS=2.5 IF (CONTIN) GOTO 10002 WRITE (5,10015) 10015 FORMAT ('$Enter approximate number of star bases per', 1 ' player (5): ') CALL GETREL(BASES,OK,0.,10.) IF (.NOT.OK) BASES=5. ICNTRL(1) = BASES WRITE (5,10019) 10019 FORMAT ('$Enter number of random jump points (4): ') CALL GETINT(N,OK,0,10) IF (.NOT.OK) N=4 10002 WRITE (5,30201) 30201 FORMAT ('$Energy drain for tractor beams (25): ') CALL GETINT(ICNTRL(2),OK,10,200) IF (.NOT.OK) ICNTRL(2)=25 WRITE (5,10020) 10020 FORMAT ('$Enter drain for homing (25): ') CALL GETREL(RCNTRL(7),OK,0.,1000.) IF (.NOT.OK) RCNTRL(7) = 25. WRITE (5,10079) 10079 FORMAT ('$Enter energy drain for cloaking (25): ') CALL GETREL(RCNTRL(8),OK,0.,2000.) IF (.NOT.OK) RCNTRL(8)=25 WRITE (5,16000) 16000 FORMAT ('$Enter energy drain for hyperspace jumps (500): ') CALL GETREL(RCNTRL(6),OK,0.,3500.) IF (.NOT.OK) RCNTRL(6)=500. IF (CONTIN) GOTO 10085 C DO 10500 II=1,IUNIMX WRITE (5,10080) II 10080 FORMAT (/,' For universe ',I1,' : ') C WRITE (5,10081) 10081 FORMAT ('$ Enter number of black holes (1): ') CALL GETINT(IHOLE(II),OK,1,8) IF (.NOT.OK) IHOLE(II) = 1 10085 DO 10082, I = 1,IHOLE(II) WRITE (5,10083) I 10083 FORMAT ('$ Enter warp speed of black hole #',I1,' (5): ') CALL GETREL(HWARP(II,I),OK,0.,8.) IF (.NOT.OK) HWARP(II,I)=5 10082 CONTINUE C 10500 CONTINUE C IF (CONTIN) GOTO 31000 WRITE (5,10021) 10021 FORMAT (/,'$Enter average star base shield energy (6500): ') CALL GETREL(RCNTRL(1),OK,0.,10000.) IF (.NOT.OK) RCNTRL(1) = 6500. WRITE (5,10022) 10022 FORMAT ('$Enter number of active homers for each player (8): ') CALL GETINT(ICNTRL(3),OK,2,15) IF (.NOT.OK) ICNTRL(3)=8 WRITE (5,30100) 30100 FORMAT ('$Enter number of homers for each player (4): ') CALL GETINT(ICNTRL(4),OK,2,15) IF (.NOT.OK) ICNTRL(4)=4 WRITE (5,30101) 30101 FORMAT ('$Enter number of regular torpedoes for each' 1 ,' player (10): ') CALL GETINT(ICNTRL(5),OK,2,15) IF (.NOT.OK) ICNTRL(5)=10 WRITE (5,30102) 30102 FORMAT ('$Enter the number of anti-matter pods for ' 1 ,'each player (3): ') CALL GETINT(ICNTRL(6),OK,2,10) IF (.NOT.OK) ICNTRL(6)=3 WRITE (5,30200) 30200 FORMAT ('$Enter the repair frequency in seconds/percent (3): ') CALL GETINT(ICNTRL(7),OK,3,15) IF (.NOT.OK) ICNTRL(7)=3 C WRITE (5,500) 500 FORMAT (/,'$Do you wish to save the configuration answers ? ') CALL YESNO(SAVE) IF (.NOT.SAVE) GOTO 31000 WRITE (5,51) 51 FORMAT ('$Enter configuration file name [DEF = TREK.CNF] : ') ILEN=30 CALL RDLINE (FNAME,ILEN,0) IF (ILEN.GT.0) GOTO 20 DO 21 J=1,8 FNAME(J)=TNAME(J) 21 CONTINUE ILEN=8 20 FNAME(ILEN+1) = 0 OPEN (UNIT=2,FILE=FNAME,TYPE='NEW',ACCESS='SEQUENTIAL') WRITE (2,501) IUNIMX 501 FORMAT (' ',I1,', Number of universes') WRITE (2,502) IMAXX 502 FORMAT (' ',I3.3,', Size of each universe') WRITE (2,503) STARS 503 FORMAT (' ',F3.1,', Star density') WRITE (2,504) ICNTRL(1) 504 FORMAT (' ',I2.2,', Number of bases / player') WRITE (2,505) N 505 FORMAT (' ',I2.2,', Number of random jump points') WRITE (2,516) ICNTRL(2) 516 FORMAT (' ',I3.3,', Drain for tractor beams') II=RCNTRL(7) WRITE (2,506) II 506 FORMAT (' ',I3.3,', Drain for homing') II=RCNTRL(8) WRITE (2,507) II 507 FORMAT (' ',I3.3,', Drain for cloaking') WRITE (2,16020) RCNTRL(6) 16020 FORMAT (' ',F6.0,', Drain for hyperspace jump') DO 600 II=1,IUNIMX WRITE (2,508) IHOLE(II),II 508 FORMAT (' ',I1,', Number of black holes in universe #',I1) DO 599 JJ=1,IHOLE(II) WRITE (2,509) HWARP(II,JJ),JJ 509 FORMAT (' ',F3.1,', Warp speed black hole #',I1) 599 CONTINUE 600 CONTINUE WRITE (2,510) RCNTRL(1) 510 FORMAT (' ',F6.0,', Energy required to destroy starbase') WRITE (2,511) ICNTRL(3) 511 FORMAT (' ',I2.2,', Maximum number of homers active') WRITE (2,512) ICNTRL(4) 512 FORMAT (' ',I2.2,', Initial allocation of homers') WRITE (2,513) ICNTRL(5) 513 FORMAT (' ',I2.2,', Initial allocation of torpedoes') WRITE (2,514) ICNTRL(6) 514 FORMAT (' ',I2.2,', Initial allocation of anti-matter pods') WRITE (2,515) ICNTRL(7) 515 FORMAT (' ',I2.2,', Repair frequency in seconds/percent') WRITE (2,517) 7153 517 FORMAT (' ',I4,', Random integer') CLOSE (UNIT=2) C 31000 RETURN END