File: STARWR.LS of Tape: V50/Source/Source-Listing-FORTRAN-1
(Source file text) 

        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  ONE 

	C       PROGRAM SIMULATES TV PROGRAM STAR TREK
	C       FORTRAN IV VERSION BY KAY R. FISHER ...DEC
	C       ORIGINAL BASIC PROGRAM BY MIKE MAYFIELD
	C       			  CENTERLINE ENGINEERING
0002	        INTEGER ENERGY,QUAD1,QUAD2,SECT1,SECT2,CHART(9,2)
0003	        INTEGER TKLING,TBASES,BASES3,STARS3,ARRAY(8,8,3)
0004	        INTEGER KLINST(3,3),LRSENS(3),SHIELD
0005	        INTEGER ZONE1,ZONE2,RANK1,RANK2,OK,COMM,DOCKED,TORPED
0006	        INTEGER COND,HELL,LONG(3),HIT
0007	        REAL NO,DAMAGE(8)
0010	        COMMON ARRAY,ZONE1,ZONE2,INSERT,RANK1,RANK2,OK,IRA,JONES
0011	        COMMON DOCKED,KLING3,KLINST,SECT1,SECT2,SHIELD
0012	        DATA YES/'YES'/,NO/'NO'/
	C       *************************************************
	C       THIS MADNESS IS THE NAVIGATION CHART
	C       *************************************************
0013	        DATA CHART(2,1)/-1/,CHART(3,1)/-1/,CHART(4,1)/-1/
0014	        DATA CHART(4,2)/-1/,CHART(5,2)/-1/,CHART(6,2)/-1/
0015	        DATA CHART(1,1)/0/,CHART(3,2)/0/,CHART(5,1)/0/
0016	        DATA CHART(7,2)/0/,CHART(9,1)/0/,CHART(1,2)/1/
0017	        DATA CHART(2,2)/1/,CHART(6,1)/1/,CHART(7,1)/1/
0020	        DATA CHART(8,1)/1/,CHART(8,2)/1/,CHART(9,2)/1/
	C       *************************************************
	C       IT LOOKS LIKE THIS
	C       *************************************************
	C        0        1
	C        1        1
	C        1        0
	C        1       -1
	C        0       -1
	C       -1       -1
	C       -1        0
	C       -1        1
	C        0        1
	C       *************************************************
0021	        WRITE (4,1)
0022	1       FORMAT (////,1X,'PLEASE ENTER THE TIME (24 HOUR FORMAT),IE: 4:30 
	     1	P.M. = 1630.',/,1X,'TIME?',$)
0023	        READ (4,1290) ITEMP
0024	        IRA = INT((FLOAT(ITEMP))/100)
0025	        JONES = INT(ITEMP-IRA*100)
0026	        ASSIGN 1270 TO HELL
0027	5       KSHELD = 200
0030	        DOCKED = 0
0031	        TORPED = 10
0032	        SHIELD = 0
0033	        DO 9 I=1,8
0034	        DAMAGE(I)=0.
0035	9       CONTINUE
0036	        WRITE (4,10)
0037	10      FORMAT(////,T20,'* * *  STAR TREK  * * *'
	     1	/,T20,'FORTRAN IV VERSION BY KAY R. FISHER ...DEC')
0040	25      WRITE (4,30)
0041	30      FORMAT(////,1X,'DO YOU WANT INSTRUCTIONS (THEY ARE LONG!)?',$)
0042	        READ (4,40)ANSWER
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  TWO 

0043	40      FORMAT(A3)
0044	        IF(ANSWER.EQ.YES) GOTO 20000
0045	        IF(ANSWER.EQ.NO) GOTO 100
0046	        WRITE (4,50)
0047	50      FORMAT(1X,'PLEASE ANSWER YES OR NO!')
0050	        GOTO 25
0051	100     DATLFT=30.0
0052	        ENERGY=3000
0053	        SHIELD=0
	C       THIS ARRAY REPRESENTS KLINGON POSITIONS
	C       AND THERE REMAINING SHIELD ENERGY!!
	C       FOR UP TO 3 KLINGONS(I.E. ONE SECTOR'S WORTH)
0054	        DO 105 I=1,3
0055	        DO 105 J=1,3
0056	        KLINST(I,J) = 0
0057	105     CONTINUE
	C       THIS ARRAY WILL REPRESENT 3-8X8 PLANES
	C       PLANE 1 = MASTER GALAXY LAYOUT
	C       PLANE 2 = LIBRARY RECORD OF ALL LONG RANGE SENSOR SCANS
	C       PLANE 3 = PRESENT SECTOR LAYOUT
0060	        DO 200 I=1,8
0061	        DO 200 J=1,8
0062	        DO 200 K=1,3
0063	        ARRAY(I,J,K)=0.
0064	200     CONTINUE
	C       PUT THE ENTERPRISE SOMEWHERE
0065	        QUAD1=INT(RAN(IRA,JONES)*8+1)
0066	        QUAD2=INT(RAN(IRA,JONES)*8+1)
0067	        SECT1=INT(RAN(IRA,JONES)*8+1)
0070	        SECT2=INT(RAN(IRA,JONES)*8+1)
	C       SETS UP WHAT EXISTS IN GALAXY
0071	        TKLING=0.
0072	        TBASES=0.
0073	        DO 750 I=1,8
0074	        DO 750 J=1,8
0075	        RND=RAN(IRA,JONES)
0076	        IF (RND.GT..98) GOTO 580
0077	        IF(RND.GT..95) GOTO 610
0100	        IF(RND.GT..8) GOTO 640
0101	        KLING3=0.
0102	        GOTO 660
0103	580     KLING3=3.
0104	        TKLING=TKLING+3.
0105	        GOTO 660
0106	610     KLING3=2.
0107	        TKLING=TKLING+2.
0110	        GOTO 660
0111	640     KLING3=1.
0112	        TKLING=TKLING+1.
0113	660     RND=RAN(IRA,JONES)
0114	        IF(RND.GT..96) GOTO 700
0115	        BASES3=0.
0116	        GOTO 720
0117	700     BASES3=1.
0120	        TBASES=TBASES+1.
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  THREE 

0121	720     STARS3=INT(RAN(IRA,JONES)*8+1)
0122	        ARRAY(I,J,1)=KLING3*100+BASES3*10+STARS3
0123	750     CONTINUE
0124	        KLING7=TKLING
0125	        IF(TBASES.GT.0.) GOTO 780
0126	        IRND1=INT(RAN(IRA,JONES)*8+1)
0127	        IRND2=INT(RAN(IRA,JONES)*8+1)
0130	        ARRAY(IRND1,IRND2,1)=ARRAY(IRND1,IRND2,1)+10.
0131	        TBASES=1.
0132	780     WRITE (4,800)TKLING,DATLFT,TBASES
0133	800     FORMAT(//,1X,'YOU MUST DESTROY',1X,I2,1X,'KLINGONS
	     1	IN',F6.1,1X,'STARDATES WITH',I2,1X,'STARBASES!!!',////////)
0134	        TIME = INT(RAN(IRA,JONES)*20+20)*100
0135	        TIME0 = TIME
	C       OK NOW CLEAR THIS SECTOR!!!!!
0136	810     STARS3=0
0137	        KLING3=0
0140	        BASES3=0
	C       THIS CHECKS TO SEE IF WE ARE IN OUR ASSIGNED
	C       REGION OF THE GALAXY!!!
0141	        IF (QUAD1.LT.1) GOTO 920
0142	        IF (QUAD1.GT.8) GOTO 920
0143	        IF (QUAD2.LT.1) GOTO 920
0144	        IF (QUAD2.GT.8) GOTO 920
	C       IF NOT GOTO 920
	C       OK THEN LET'S SEE WHAT IS IN THIS QUADRANT
0145	        TEMP = ARRAY(QUAD1,QUAD2,1)*.01
0146	        KLING3=INT(TEMP)
0147	        BASES3 = INT((TEMP-KLING3)*10)
0150	        STARS3=ARRAY(QUAD1,QUAD2,1)-INT(ARRAY(QUAD1,QUAD2,1)*.1)*10
	C       IF THERE'S NO KLINGONS HERE THEN IT'S
	C       NOT CONDITION RED
0151	        IF (KLING3.EQ.0) GOTO 920
	C       LET'S SEE IF THE SHIELDS ARE LOW?
0152	        IF (SHIELD.GE.200) GOTO 900
0153	        WRITE (4,890)
0154	890     FORMAT(//,1X,'   SHIELDS DANGEROUSLY LOW')
0155	900     WRITE (4,910)
0156	910     FORMAT(1X,'COMBAT AREA      CONDITION RED')
	C       CLEAR OUT THE KLINGON SHIELD POWER ARRAY
0157	920     DO 940 I=1,3
0160	        KLINST(I,3) = 0
0161	940     CONTINUE
	C       PUT THE ENTERPRISE SOMEWHERE
0162	        ZONE1 = SECT1
0163	        ZONE2 = SECT2
0164	        DO 970 I=1,8
0165	        DO 970 J=1,8
0166	        ARRAY(I,J,3)=0
0167	970     CONTINUE
	C       INSERT=1=ENTERPRISE
0170	        INSERT = 1
	C       PLACE - PLACE - PLACE - PLACE
0171	        ARRAY (ZONE1,ZONE2,3) = INSERT
	C       PUT KLINGONS SOMEWHERE
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  FOUR  

0172	        IF (KLING3.EQ.0) GOTO 1120
0173	        DO 1110 I=1,KLING3
0174	        CALL SECTOR
	C       INSERT=2=KLINGON
0175	        INSERT = 2
0176	        ZONE1 = RANK1
0177	        ZONE2 = RANK2
	C       PLACE - PLACE - PLACE - PLACE
0200	        ARRAY(ZONE1,ZONE2,3) = INSERT
	C       UPDATE KLINGON STATUS ARRAY (KLINST)
0201	        KLINST(I,1) = RANK1
0202	        KLINST(I,2) = RANK2
0203	        KLINST(I,3) = KSHELD
0204	1110    CONTINUE
	C       PUT STARBASE SOMEWHERE
0205	1120    IF (BASES3.EQ.0) GOTO 1190
0206	        CALL SECTOR
	C       INSERT=3=STARBASE
0207	        INSERT = 3
0210	        ZONE1 = RANK1
0211	        ZONE2 = RANK2
	C       PLACE - PLACE - PLACE - PLACE
0212	        ARRAY(ZONE1,ZONE2,3) = INSERT
	C       PUT STARS SOMEWHERE
0213	1190    IF (STARS3.EQ.0) GOTO 1260
0214	        DO 1250 I=1,STARS3
0215	        CALL SECTOR
	C       INSERT=4=STARS
0216	        INSERT = 4
0217	        ZONE1 = RANK1
0220	        ZONE2 = RANK2
	C       PLACE - PLACE - PLACE - PLACE
0221	        ARRAY(ZONE1,ZONE2,3) = INSERT
0222	1250    CONTINUE
	C       **************************************
	C       THIS IS THE SHORT RANGE SENSOR SCAN
	C       **************************************
	C       CHECK FOR DOCKING
0223	1260    DO 4200 I=1,3
0224	        DO 4200 J=1,3
0225	        ZONE1 = SECT1+I-2
0226	        IF (ZONE1.LT.1) GOTO 4200
0227	        IF (ZONE1.GT.8) GOTO 4200
0230	        ZONE2 = SECT2+J-2
0231	        IF (ZONE2.LT.1) GOTO 4200
0232	        IF (ZONE2.GT.8) GOTO 4200
0233	        INSERT = 3
	C       CHECKING FOR A STARBASE
0234	        CALL CHECK
0235	        IF (OK.EQ.1) GOTO 4240
0236	4200    CONTINUE
0237	        DOCKED = 0
0240	        GOTO 4310
	C       WE ARE DOCKED
0241	4240    DOCKED = 1
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  FIVE  

0242	        ENERGY = 3000
0243	        TORPED = 10
	C       GET REPAIRS
0244	        DO 4260 I=1,8
0245	        IF (DAMAGE(I).GE.0) GOTO 4260
0246	        DAMAGE(I) = 0
0247	4260    CONTINUE
0250	        WRITE (4,4280)
0251	4280    FORMAT (1X,'SHIELDS DROPPED FOR DOCKING PURPOSES')
0252	        SHIELD = 0
0253	        COND = 1
0254	        GOTO 4380
0255	4310    IF (KLING3.GT.0) GOTO 4350
0256	        IF (ENERGY.LT.300) GOTO 4370
0257	        COND = 0
0260	        GOTO 4380
0261	4350    COND = 3
0262	        GOTO 4380
0263	4370    COND = 2
0264	4380    IF (DAMAGE(2).GE.0) GOTO 4430
0265	        WRITE (4,4390)
0266	4390    FORMAT (/,1X,'*** SHORT RANGE SENSORS ARE OUT ***',/)
0267	        GOTO HELL
	C       WILL THE REAL SHORT RANGE SENSOR PLEASE STAND UP?
0270	4430    WRITE (4,4432)
0271	4432    FORMAT(///,1X,'SHORT RANGE SENSOR SCAN',/)
0272	        WRITE (4,4435)
0273	4435    FORMAT('+------------------------',/)
0274	        DO 4500 I=1,8
0275	        DO 4450 J=1,8
0276	        IF(ARRAY(I,J,3).EQ.1) GOTO 4441
0277	        IF(ARRAY(I,J,3).EQ.2) GOTO 4442
0300	        IF(ARRAY(I,J,3).EQ.3) GOTO 4443
0301	        IF(ARRAY(I,J,3).EQ.4) GOTO 4444
0302	        WRITE (4,4445) 
0303	        GOTO 4450
0304	4441    WRITE (4,4446) 
0305	        GOTO 4450
0306	4442    WRITE (4,4447) 
0307	        GOTO 4450
0310	4443    WRITE (4,4448) 
0311	        GOTO 4450
0312	4444    WRITE (4,4449) 
0313	4445    FORMAT('+   ',$)
0314	4446    FORMAT('+<*>',$)
0315	4447    FORMAT('++++',$)
0316	4448    FORMAT('+>!<',$)
0317	4449    FORMAT('+ * ',$)
0320	4450    CONTINUE
	C       WHAT LINE ARE WE TYPING?
0321	        GOTO (4458,4462,4476,4480,4484,4488,4492,4456), I
0322	4456    WRITE (4,4457)
0323	4457    FORMAT('+',/)
0324	        GOTO 4500
0325	4458    WRITE (4,4459) TIME
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  SIX 

0326	4459    FORMAT('+',4X,'STARDATE',7X,F7.1,/)
0327	        GOTO 4500
0330	4462    WRITE (4,4463)
0331	4463    FORMAT('+',4X,'CONDITION',7X,$)
0332	        IF(COND.EQ.1) GOTO 4465
0333	        IF(COND.EQ.2) GOTO 4467
0334	        IF(COND.EQ.3) GOTO 4469
0335	        WRITE (4,4464)
0336	4464    FORMAT('+ GREEN',/)
0337	        GOTO 4500
0340	4465    WRITE (4,4466)
0341	4466    FORMAT('+DOCKED',/)
0342	        GOTO 4500
0343	4467    WRITE (4,4468)
0344	4468    FORMAT('+YELLOW',/)
0345	        GOTO 4500
0346	4469    WRITE (4,4470)
0347	4470    FORMAT('+   RED',/)
0350	        GOTO 4500
0351	4476    WRITE (4,4477) QUAD1,QUAD2
0352	4477    FORMAT('+',4X,'QUADRANT',9X,I2,',',I2,/)
0353	        GOTO 4500
0354	4480    WRITE (4,4481) SECT1,SECT2
0355	4481    FORMAT('+',4X,'SECTOR',11X,I2,',',I2,/)
0356	        GOTO 4500
0357	4484    WRITE (4,4485) ENERGY
0360	4485    FORMAT('+',4X,'TOTAL ENERGY',6X,I4,/)
0361	        GOTO 4500
0362	4488    WRITE (4,4489) TORPED
0363	4489    FORMAT('+',4X,'PHOTON TORPEDOES',4X,I2,/)
0364	        GOTO 4500
0365	4492    WRITE (4,4493) SHIELD
0366	4493    FORMAT('+',4X,'SHIELDS',11X,I4,/)
0367	4500    CONTINUE
0370	        WRITE (4,4435)
	C       *********************************************************
	C       INPUT COMMAND-----INPUT COMMAND-----INPUT COMMAND
	C       *********************************************************
0371	1270    WRITE (4,1280)
0372	1280    FORMAT(//,1X,'COMMAND:'$)
0373	        READ (4,1290)COMM
0374	1290    FORMAT(I4)
	C       COMMAND 69 = CHEAT/TEST/DEBUG
0375	        IF (COMM.EQ.69) GOTO 10000
0376	        IF (COMM.LT.0) GOTO 1300
0377	        IF (COMM.GT.8) GOTO 1300
0400	        IF (COMM.EQ.0) GOTO 1410
0401	        GOTO (1260,2330,2530,2800,3460,3560,4630,5), COMM
0402	1300    WRITE (4,1310)
0403	1310    FORMAT(//,4X,'0 = SET COURSE',/,4X,'1 = SHORT RANGE SENS SCAN',
	     1	/,4X,'2 = LONGE RANGE SENS SCAN',/,4X,'3 = FIRE PHASERS',/,
	     2	4X,'4 = FIRE PHOTON TORPEDOES',/,4X,'5 = SHIELD CONTROL',/,
	     3	4X,'6 = DAMAGE CONTROL REPORT',/,4X,'7 = CALL LIB COMPUTER',/,
	     4	4X,'8 = BEGIN NEW CONTEST',/,)
0404	        GOTO HELL
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  SEVEN 

	C       **************************************************
	C       THIS IS THE COURSE CONTROL CODE
	C       **************************************************
0405	1410    WRITE (4,1415)
0406	1415    FORMAT (1X,'COURSE (1-9):?',$)
0407	        READ (4,1420) COURSE
0410	1420    FORMAT (F16.0)
0411	        IF (COURSE.EQ.0) GOTO HELL
0412	        IF (COURSE.LT.0.OR.COURSE.GE.9) GOTO 1410
0413	        WRITE (4,1450)
0414	1450    FORMAT (1X,'WARP FACTOR (0-8):?',$)
0415	        READ (4,1420) WARP
0416	        IF (WARP.LE.0.OR.WARP.GT.8) GOTO HELL
0417	        IF (WARP.LE..2.OR.DAMAGE(1).GE.0) GOTO 1510
0420	        WRITE (4,1490)
0421	1490    FORMAT (1X,'WARP DRIVE IS DISABLED!',/,
	     1	1X,'IMPULSE ENGINES ACTIVATED.',/,
	     2	1X,'MAXIMUM SPEED = WARP .2')
0422	        GOTO HELL
0423	1510    IF (KLING3.LE.0) GOTO 1560
0424	        CALL SHOOT
0425	        IF (SHIELD.LT.0) GOTO 4000
0426	        IF (KLING3.LE.0) GOTO 1560
0427	        IF (SHIELD.GE.0) GOTO 1610
0430	4000    WRITE (4,4010)
0431	4010    FORMAT (/,1X,'THE ENTERPRISE HAS BEEN DESTROYED.  THE 
	     1	FEDERATION WILL BE CONQUERED.')
0432	4020    WRITE (4,4011) TKLING
0433	4011    FORMAT (1X,'THERE ARE STILL ',I3,' KLINGON BATTLE 
	     1	CRUISERS.')
0434	        WRITE (4,4012)
0435	4012    FORMAT (1X,'YOU GET ANOTHER CHANCE....')
0436	        GOTO 5
0437	1560    IF (ENERGY.GT.0) GOTO 1610
0440	        IF (SHIELD.GE.1) GOTO 1580
0441	3920    WRITE (4,3930)
0442	3930    FORMAT (1X,'THE ENTERPRISE IS DEAD IN SPACE.  IF YOU SURVIVE 
	     1	ALL IMPENDING',/,1X,'ATTACKS YOU WILL BE DEMOTED TO THE 
	     2	RANK OF PRIVATE.')
0443	3940    IF (KLING3.LE.0) GOTO 4020
0444	        CALL SHOOT
0445	        IF (SHIELD.LT.0) GOTO 4000
0446	        GOTO 3940
0447	        GOTO 5
0450	1580    WRITE (4,1590) ENERGY,SHIELD
0451	1590    FORMAT (1X,'YOU HAVE ',I5,' UNITS OF ENERGY',/,
	     1	1X,'SUGGEST YOU GET SOME FROM YOUR SHIELDS WHICH HAVE ',
	     2	I5,' UNITS LEFT.')
0452	        GOTO HELL
	C       FIX ANY DAMAGED DEVICE MR. SCOTT
0453	1610    DO 1640 I=1,8
0454	        IF (DAMAGE(I).GE.0) GOTO 1640
0455	        DAMAGE(I) = DAMAGE(I)+1.
0456	1640    CONTINUE
0457	        IF (RAN(IRA,JONES).GT..2) GOTO 1810
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  EIGHT 

0460	        ITEMP = INT(RAN(IRA,JONES)*8+1)
0461	        IF (RAN(IRA,JONES).GE..5) GOTO 1750
0462	        DAMAGE(ITEMP) = DAMAGE(ITEMP)-(RAN(IRA,JONES)*5+1)
0463	        WRITE (4,1690)
0464	1690    FORMAT (/,1X,'DAMAGE CONTROL REPORTS:',$)
0465	        GOTO (1692,1694,1696,1700,1702,1704,1706,1708) ITEMP
0466	1692    WRITE (4,1693)
0467	1693    FORMAT('+  WARP DRIVE ',$)
0470	        GOTO 1720
0471	1694    WRITE (4,1695)
0472	1695    FORMAT('+  SHORT RANGE SENSORS ',$)
0473	        GOTO 1720
0474	1696    WRITE (4,1697)
0475	1697    FORMAT('+  LONG RANGE SENSORS ',$)
0476	        GOTO 1720
0477	1700    WRITE (4,1701)
0500	1701    FORMAT('+  PHASER CONTROL ',$)
0501	        GOTO 1720
0502	1702    WRITE (4,1703)
0503	1703    FORMAT('+  PHOTON TUBES ',$)
0504	        GOTO 1720
0505	1704    WRITE (4,1705)
0506	1705    FORMAT('+  DAMAGE CONTROL ',$)
0507	        GOTO 1720
0510	1706    WRITE (4,1707)
0511	1707    FORMAT('+  SHIELD CONTROL ',$)
0512	        GOTO 1720
0513	1708    WRITE (4,1709)
0514	1709    FORMAT('+  COMPUTER ',$)
0515	1720    WRITE (4,1722)
0516	1722    FORMAT('+DAMAGED',/)
0517	        GOTO 1810
0520	1750    DAMAGE(ITEMP) = DAMAGE(ITEMP)+(RAN(IRA,JONES)*5+1)
0521	        WRITE (4,1690)
0522	        GOTO (1752,1754,1756,1758,1760,1762,1764,1766) ITEMP
0523	1752    WRITE (4,1693)
0524	        GOTO 1790
0525	1754    WRITE (4,1695)
0526	        GOTO 1790
0527	1756    WRITE (4,1697)
0530	        GOTO 1790
0531	1758    WRITE (4,1701)
0532	        GOTO 1790
0533	1760    WRITE (4,1703)
0534	        GOTO 1790
0535	1762    WRITE (4,1705)
0536	        GOTO 1790
0537	1764    WRITE (4,1707)
0540	        GOTO 1790
0541	1766    WRITE (4,1709)
0542	1790    WRITE (4,1792)
0543	1792    FORMAT ('+STATE OF REPAIR IMPROVED',/)
0544	1810    MOVE = INT((WARP+.0625)*8)
0545	        ZONE1 = SECT1
0546	        ZONE2 = SECT2
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  NINE  

0547	        INSERT = 0
	C       ZERO THE SECTOR WE LEAVE
0550	        ARRAY(ZONE1,ZONE2,3) = INSERT
0551	        X = SECT1
0552	        Y = SECT2
0553	        X1=CHART(INT(COURSE),1)+(CHART(INT(COURSE+1.),1)-CHART(INT(
	     1	COURSE),1))*(COURSE-INT(COURSE))
0554	        X2=CHART(INT(COURSE),2)+(CHART(INT(COURSE+1.),2)-CHART(INT(
	     1	COURSE),2))*(COURSE-INT(COURSE))
0555	        DO 2070 I=1,MOVE
0556	        X=X+X1
0557	        Y=Y+X2
	C       DID WE FLY OUT OF OUR SECTOR?
0560	        IF(X.LT.1..OR.X.GE.9..OR.Y.LT.1..OR.Y.GE.9.) GOTO 2170
	C       DID WE HIT ANYTHING?
0561	        ZONE1 = X
0562	        ZONE2 = Y
0563	        INSERT = 0
0564	        CALL CHECK
	C       WHEN WE RETURN OK BETTER = 1
0565	        IF (OK.EQ.1) GOTO 2070
	C       COLLISION COURSE - BACK UP 1 SECTOR
0566	        SECT1 = INT(X-X1)
0567	        SECT2 = INT(Y-X2)
0570	        ZONE1 = SECT1
0571	        ZONE2 = SECT2
0572	        WRITE (4,2030) SECT1,SECT2
0573	2030    FORMAT (1X,'WARP ENGINES SHUTDOWN AT SECTOR ',I2,' ,',I2,
	     1	' DUE TO BAD NAVAGATION')
0574	        GOTO 2080
0575	2070    CONTINUE
0576	        SECT1 = INT(X)
0577	        SECT2 = INT(Y)
0600	        ZONE1 = SECT1
0601	        ZONE2 = SECT2
0602	2080    INSERT = 1
	C       HERE WE ARE LET'S PARK THE ENTERPRISE
0603	        ARRAY(ZONE1,ZONE2,3) = INSERT
0604	        ENERGY = ENERGY-MOVE+5
0605	        TIME = TIME+.1
0606	        IF (WARP.LT.1) GOTO 2150
0607	        TIME = TIME+.9
0610	2150    IF(TIME.LE.TIME0+DATLFT)GOTO 1260
0611	3969    WRITE (4,3970) TIME
0612	3970    FORMAT(1X,'IT IS STARDATE ',F7.1)
0613	        GOTO 4020
0614	2170    X = QUAD1*8+SECT1+X1*MOVE
0615	        Y = QUAD2*8+SECT2+X2*MOVE
0616	        QUAD1 = INT(X/8)
0617	        QUAD2 = INT(Y/8)
0620	        SECT1 = INT(X-QUAD1*8)
0621	        SECT2 = INT(Y-QUAD2*8)
	C       IN THIS CRAZY MATH IT IS POSSIBLE TO ARRIVE
	C       AT SECTOR X,0 OR 0,X IN WHICH CASE WE
	C       MUST FALL BACKWARDS INTO ANOTHER QUADRANT
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  TEN 

	C       AT SECTOR X,8 OR 8,X
0622	        IF (SECT1.NE.0) GOTO 2260
0623	        QUAD1 = QUAD1-1
0624	        SECT1 = 8
0625	2260    IF (SECT2.NE.0) GOTO 2290
0626	        QUAD2 = QUAD2-1
0627	        SECT2 = 8
0630	2290    TIME = TIME+1.
0631	        ENERGY = ENERGY-MOVE+5
0632	        IF (TIME.GT.TIME0+DATLFT) GOTO 3969
0633	        GOTO 810
	C       **************************************************
	C       THIS IS THE PHOTON TORPEDOE CONTROL
	C       **************************************************
0634	2800    IF (DAMAGE(5).GE.0) GOTO 2830
0635	        WRITE (4,2810)
0636	2810    FORMAT (1X,'PHOTON TUBES ARE NOT OPERATIONL')
0637	        GOTO HELL
0640	2830    IF (TORPED.GT.0) GOTO 2860
0641	        WRITE (4,2840)
0642	2840    FORMAT (1X,'ALL PHOTON TORPEDOES EXPENDED')
0643	        GOTO HELL
0644	2860    WRITE (4,2862)
0645	2862    FORMAT (1X,'TORPEDO COURSE (1-9):?',$)
0646	        READ (4,1420) COURSE
0647	        IF (COURSE.EQ.0) GOTO HELL
0650	        IF (COURSE.LT.1.OR.COURSE.GE.9) GOTO 2860
0651	        X1=CHART(INT(COURSE),1)+(CHART(INT(COURSE)+1,1)-CHART(INT
	     1	(COURSE),1))*(COURSE-INT(COURSE))
0652	        X2=CHART(INT(COURSE),2)+(CHART(INT(COURSE)+1,2)-CHART(INT
	     1	(COURSE),2))*(COURSE-INT(COURSE))
0653	        X = SECT1
0654	        Y = SECT2
0655	        TORPED = TORPED-1
0656	        WRITE (4,2950)
0657	2950    FORMAT (1X,'TORPEDO TRACK:')
0660	2960    X = X+X1
0661	        Y = Y+X2
0662	        IF(X.LT.1.OR.X.GE.9.OR.Y.LT.1.OR.Y.GE.9) GOTO 3420
0663	        WRITE (4,2990) X,Y
0664	2990    FORMAT (15X,G16.8,',',G16.8)
0665	        IF (INT(X+.25).NE.INT(X+.75)) GOTO 2960
0666	        IF (INT(Y+.25).NE.INT(Y+.75)) GOTO 2960
0667	        ZONE1 = INT(X+.5)
0670	        ZONE2 = INT(Y+.5)
0671	        INSERT = 0
0672	        CALL CHECK
0673	        IF (OK.EQ.1) GOTO 2960
0674	        INSERT = 2
0675	        CALL CHECK
0676	        IF (OK.EQ.0) GOTO 3220
0677	        WRITE (4,3120)
0700	3120    FORMAT(1X,'*** KLINGON DESTROYED ***')
	C       NEGATE 1 KLINGON
0701	        KLING3 = KLING3-1
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  ELEVEN  

0702	        TKLING = TKLING-1
0703	        IF (TKLING.LE.0) GOTO 4040
0704	        DO 3190 I=1,3
0705	        IF (ZONE1.NE.KLINST(I,1).OR.ZONE2.NE.KLINST(I,2))GOTO3190
0706	        KLINST(I,3) = 0
0707	3190    CONTINUE
0710	        GOTO 3360
0711	3220    INSERT = 4
0712	        CALL CHECK
0713	        IF (OK.EQ.0) GOTO 3290
0714	        WRITE (4,3270)
0715	3270    FORMAT (1X,'YOU CAN''T DESTROY STARS, SILLY')
0716	        GOTO 3420
0717	3290    INSERT = 3
0720	        CALL CHECK
0721	        IF (OK.EQ.0) GOTO 2960
0722	        WRITE (4,3340)
0723	3340    FORMAT (1X,'*** STAR BASE DESTROYED ***......CONGRATULATIONS')
	C       DECREMENT 1 STARBASE
0724	        BASES3 = BASES3-1
0725	        TBASES =TBASES-1
0726	3360    INSERT = 0
	C       PLACE - PLACE - PLACE - PLACE
0727	        ARRAY(ZONE1,ZONE2,3) = INSERT
	C       UPDATE GALAXY
0730	        ARRAY(QUAD1,QUAD2,1) = KLING3*100+BASES3*10+STARS3
0731	        IF (ARRAY(QUAD1,QUAD2,2).LT.1) GOTO 3410
0732	        ARRAY(QUAD1,QUAD2,2) = ARRAY(QUAD1,QUAD2,1)
0733	3410    GOTO 3430
0734	3420    WRITE (4,3422)
0735	3422    FORMAT (1X,'TORPEDO MISSED')
0736	3430    CALL SHOOT
0737	        IF (SHIELD.LT.0.OR.ENERGY.LT.0) GOTO 4000
0740	        GOTO HELL
	C       **************************************************
	C       THIS IS THE FIRE PHASER COMMAND
	C       **************************************************
0741	2530    IF (KLING3.GT.0) GOTO 2540
0742	        WRITE (4,3670)
0743	3670    FORMAT(1X,'SHORT RANGE SENSORS REPORT NO KLINGONS IN THIS
	     1	 QUADRANT')
0744	        GOTO HELL
0745	2540    IF (DAMAGE(4).GE.0) GOTO 2570
0746	        WRITE (4,2550)
0747	2550    FORMAT(1X,'PHASERS NOT OPERATIONAL')
0750	        GOTO HELL
0751	2570    IF(DAMAGE(8).GE.0) GOTO 2590
0752	        WRITE (4,2580)
0753	2580    FORMAT (2X,'COMPUTER FAILURE HAMPERS ACCURACY')
0754	2590    WRITE (4,2592) ENERGY
0755	2592    FORMAT (1X,'PHASERS LOCKED ON TARGET.  ENERGY AVAILABLE = ',
	     1	I4,/,1X,'NUMBER OF UNITS TO FIRE:?',$)
0756	        READ (4,1420) X
0757	        ITEMP = INT(X)
0760	        IF (ITEMP.LE.0) GOTO HELL
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  TWELVE  

0761	        IF (ENERGY-ITEMP.LT.0) GOTO 2590
0762	        ENERGY = ENERGY-ITEMP
0763	        CALL SHOOT
0764	        IF (SHIELD.LT.0) GOTO 4000
0765	        IF (DAMAGE(8).GE.0) GOTO 2680
0766	        X = X*RAN(IRA,JONES)
0767	2680    DO 2770 I=1,3
0770	        IF(KLINST(I,3).LE.0) GOTO 2770
0771	        TEMP=SQRT(FLOAT((KLINST(I,1)-SECT1)**2+(KLINST(I,2)-SECT2)**2))
0772	        HIT = INT((X/KLING3/TEMP)*(2*RAN(IRA,JONES)))
0773	        KLINST(I,3) = KLINST(I,3)-HIT
0774	        WRITE (4,2720) HIT,KLINST(I,1),KLINST(I,2),KLINST(I,3)
0775	2720    FORMAT(1X,I4,' UNIT HIT ON KLINGON AT SECTOR ',I2,',',I2,
	     1	5X,'(',I5,' LEFT)')
0776	        IF (KLINST(I,3).GT.0) GOTO 2770
0777	        WRITE (4,3690)KLINST(I,1),KLINST(I,2)
1000	3690    FORMAT(1X,'*** KLINGON AT SECTOR ',I2,',',I2,' DESTROYED ***')
	C       NEGATE ONE KLINGON
1001	        KLING3 = KLING3-1
1002	        TKLING = TKLING-1
1003	        ZONE1 = KLINST(I,1)
1004	        ZONE2 = KLINST(I,2)
1005	        INSERT = 0
	C       PLACE - PLACE - PLACE - PLACE
1006	        ARRAY(ZONE1,ZONE2,3) = INSERT
	C       UPDATE GALAXY
1007	        ARRAY(QUAD1,QUAD2,1) = KLING3*100+BASES3*10+STARS3
1010	        IF (ARRAY(QUAD1,QUAD2,2).LT.1) GOTO 2760
1011	        ARRAY(QUAD1,QUAD2,2) = ARRAY(QUAD1,QUAD2,1)
1012	2760    IF (TKLING.LE.0) GOTO 4040
1013	2770    CONTINUE
1014	        IF (ENERGY.LT.0) GOTO 4000
1015	        GOTO HELL
1016	4040    WRITE (4,4042)
1017	4042    FORMAT(//,1X,'THE LAST KLINGON BATTLE CRUISER HAS BEEN 
	     1	DESTROYED',/,1X,'THE FEDERATION HAS BEEN SAVED!!!!!',/)
1020	        TIMDIF = TIME-TIME0
1021	        EFF = ((KLING7/TIMDIF)*1000)
1022	        WRITE (4,4080) EFF,TIMDIF
1023	4080    FORMAT(1X,'YOUR EFFICIENCY RATING = ',F16.2,/,
	     1	1X,'YOUR ACTUAL TIME OF MISSION = ',F16.1,' STARDATES',///,
	     2	1X,'DO YOU WANT TO TRY AGAIN?',$)
1024	4106    READ (4,40) ANSWER
1025	        IF (ANSWER.EQ.YES) GOTO 5
1026	        IF(ANSWER.EQ.NO) STOP
1027	        WRITE (4,50)
1030	        GOTO 4106
	C       **************************************************
	C       THIS IS THE LONG RANGE SENSOR SCAN CODE
	C       **************************************************
1031	2330    IF (DAMAGE(3).GE.0) GOTO 2370
1032	        WRITE (4,2340)
1033	2340    FORMAT (1X,'LONG RANGE SENSORS ARE INOPERABLE')
1034	        GOTO HELL
1035	2370    WRITE (4,2375) QUAD1,QUAD2
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  THIRTEEN  

1036	2375    FORMAT(1X,'LONG RANGE SENSOR SCAN FOR QUADRANT ',I2,', ',I2)
1037	        WRITE (4,2380)
1040	2380    FORMAT (1X,'-------------------')
1041	        DO 2500 I=1,3
1042	        DO 2470 J=1,3
1043	        IX = I+QUAD1-2
1044	        JX = J+QUAD2-2
1045	        IF(IX.LT.1.OR.IX.GT.8.OR.JX.LT.1.OR.JX.GT.8) GOTO 2460
1046	        LONG(JX-QUAD2+2) = ARRAY(IX,JX,1)
1047	        IF (DAMAGE(8).LT.0) GOTO 2470
1050	        ARRAY(IX,JX,2) = ARRAY(IX,JX,1)
1051	        GOTO 2470
1052	2460    LONG(JX-QUAD2+2) = 0
1053	2470    CONTINUE
1054	        WRITE (4,2472) LONG(1),LONG(2),LONG(3)
1055	2472    FORMAT (1X,':',I4,' :',I4,' :',I4,' :')
1056	        WRITE (4,2380)
1057	2500    CONTINUE
1060	        GOTO HELL
	C       **************************************************
	C       THIS IS THE DAMAGE CONTROL REPORT CODE
	C       **************************************************
1061	3560    IF (DAMAGE(6).GE.0) GOTO 3580
1062	        WRITE (4,3570)
1063	3570    FORMAT (1X,'DAMAGE CONTROL REPORT IS NOT AVAILABLE')
1064	        GOTO HELL
1065	3580    WRITE (4,3590) DAMAGE(1),DAMAGE(2),DAMAGE(3),DAMAGE(4),
	     1	DAMAGE(5),DAMAGE(6),DAMAGE(7),DAMAGE(8)
1066	3590    FORMAT (/,1X,'DAMAGE CONTROL REPORT:',//,
	     1  1X,'DEVICE                       STATE OF REPAIR',/,
	     2  1X,'WARP DRIVE',T27,F16.2,/,1X,'S.R. SENSORS',T27,F16.2,/,
	     3  1X,'L.R. SENSORS',T27,F16.2,/,1X,'PHASER CONTROL',T27,F16.2,/,
	     4  1X,'PHOTON TUBES',T27,F16.2,/,1X,'DAMAGE CONTROL',T27,F16.2,/,
	     5  1X,'SHIELD CONTROL',T27,F16.2,/,1X,'COMPUTER',T27,F16.2,/)
1067	        GOTO HELL
	C       **************************************************
	C       THIS IS THE SHIELD CONTROL CODE
	C       **************************************************
1070	3460    IF (DAMAGE(7).GE.0) GOTO 3480
1071	        WRITE (4,3470)
1072	3470    FORMAT (1X,'SHIELD CONTROL IS NON-OPERATIONAL')
1073	        GOTO HELL
1074	3480    TEMP=ENERGY+SHIELD
1075	        WRITE (4,3490) TEMP
1076	3490    FORMAT (1X,'ENERGY AVAILABLE = ',I5,/,
	     1  4X,'NUMBER OF UNITS TO SHIELDS:?',$)
1077	        READ (4,1290) ITEMP
1100	        IF (ITEMP.LT.0) GOTO HELL
1101	        IF (ENERGY+SHIELD-ITEMP.LT.0) GOTO 3480
1102	        ENERGY = ENERGY+SHIELD-ITEMP
1103	        SHIELD = ITEMP
1104	        GOTO HELL
	C       **************************************************
	C       LIBRARY COMPUTER CODE
	C       **************************************************
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  FOURTEEN  

1105	4630    IF (DAMAGE(8).GE.0) GOTO 4660
1106	        WRITE (4,4640)
1107	4640    FORMAT (1X,'COMPUTER DISABLED')
1110	        GOTO HELL
1111	4660    WRITE (4,4662)
1112	4662    FORMAT(1X,'COMPUTER ACTIVE AND AWAITING COMMAND:?',$)
1113	        READ (4,1290) ITEMP
1114	        IF (ITEMP.EQ.0) GOTO 4740
1115	        IF (ITEMP.EQ.1) GOTO 4830
1116	        IF (ITEMP.EQ.2) GOTO 4880
1117	        WRITE (4,4690)
1120	4690    FORMAT (1X,'FUNCTIONS AVIALABLE FROM COMPUTER',/,4X,
	     1  '0 = CUMULATIVE GALACTIC RECORD',/,4X,
	     2  '1 = STATUS REPORT',/,4X,'2 = PHOTON TORPEDO DATA')
1121	        GOTO 4660
	C       CUMULATIVE GALACTIC RECORD CODE BEGINS HERE
1122	4740    WRITE (4,4750)
1123	4750    FORMAT (1X,'COMPUTER RECORD OF GALAXY FOR ALL LONG RANGE 
	     1  SENSOR SCANS',/,6X,'1     2     3     4     5
	     2       6     7     8')
1124	        WRITE (4,4770)
1125	4770    FORMAT(4X,'----- ----- ----- ----- ----- ----- ----- -----')
1126	        DO 4810 I=1,8
1127	        WRITE (4,4795) I,ARRAY(I,1,2),ARRAY(I,2,2),ARRAY(I,3,2),
	     1  ARRAY(I,4,2),ARRAY(I,5,2),ARRAY(I,6,2),ARRAY(I,7,2),ARRAY(I,8,2)
1130	4795    FORMAT(1X,I2,T5,I3,T11,I3,T17,I3,T23,I3,T29,I3,T35,I3,T41,I3,
	     1  T47,I3)
1131	        WRITE (4,4770)
1132	4810    CONTINUE
1133	        GOTO HELL
	C       STATUS REPORT CODE BEGINS HERE
1134	4830    TEMP=TIME0+DATLFT-TIME
1135	        WRITE (4,4840) TKLING,TEMP,TBASES
1136	4840    FORMAT (4X,'STATUS REPORT',/,1X,
	     1  'NUMBER OF KLINGONS LEFT = ',I3,/,1X,
	     2  'NUMBER OF STARDATES LEFT = ',F7.1,/,1X,
	     3  'NUMBER OF STARBASES LEFT = ',I3)
	C       TRANSFER TO DAMAGE CONTROL REPORT CODE
1137	        GOTO 3560
	C       LIBRARY PHOTON TORPEDO DATA CODE BEGINS HERE
1140	4880    PH8 = 0
1141	        DO 5260 I=1,3
1142	        IF (KLINST(I,3).LE.0) GOTO 5260
1143	        PC1 = SECT1
1144	        PA = SECT2
1145	        PW1 = KLINST(I,1)
1146	        PX = KLINST(I,2)
1147	        GOTO 5010
1150	4970    WRITE (4,4972)QUAD1,QUAD2,SECT1,SECT2
1151	4972    FORMAT(1X,'YOU ARE AT QUADRANT (',I3,' ,',I3,' ) SECTOR (',
	     1  I3,' ,',I3,' )',/,1X,'SHIP AND TARGET COORDINATES ARE:?',$)
1152	        READ (4,4990)PC1,PA,PW1,PX
1153	4990    FORMAT(4F16.0)
1154	5010    PX = PX-PA
1155	        PA = PC1-PW1
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  FIFTEEN 

1156	        IF (PX.LT.0) GOTO 5130
1157	        IF (PA.LT.0) GOTO 5190
1160	        IF (PX.GT.0) GOTO 5070
1161	        IF (PA.EQ.0) GOTO 5150
1162	5070    PC1 = 1.
1163	5080    IF (ABS(PA).LE.ABS(PX)) GOTO 5110
1164	        TEMP = PC1+(((ABS(PA)-ABS(PX))+ABS(PA))/ABS(PA))
1165	        WRITE (4,5090)TEMP
1166	5090    FORMAT(1X,'DIRECTION = ',G16.6)
1167	        GOTO 5240
1170	5110    TEMP=PC1+(ABS(PA)/ABS(PX))
1171	        WRITE (4,5090) TEMP
1172	        GOTO 5240
1173	5130    IF (PA.GT.0) GOTO 5170
1174	        IF (PX.GT.0) GOTO 5190
1175	5150    PC1 = 5.
1176	        GOTO 5080
1177	5170    PC1 = 3.
1200	        GOTO 5200
1201	5190    PC1 = 7.
1202	5200    IF (ABS(PA).GE.ABS(PX)) GOTO 5230
1203	        TEMP=PC1+(((ABS(PX)-ABS(PA))+ABS(PX))/ABS(PX))
1204	        WRITE (4,5090) TEMP
1205	        GOTO 5240
1206	5230    TEMP=PC1+(ABS(PX)/ABS(PA))
1207	        WRITE (4,5090) TEMP
1210	5240    TEMP=SQRT(PX**2+PA**2)
1211	        WRITE (4,5242) TEMP
1212	5242    FORMAT(1X,'DISTANCE = ',G16.6)
1213	        IF (PH8.EQ.1) GOTO HELL
1214	5260    CONTINUE
1215	        PH8 = 0.
1216	5280    WRITE (4,5282)
1217	5282    FORMAT(1X,'DO YOU WANT TO USE THE CALCULATOR?',$)
1220	        READ (4,40) ANSWER
1221	        IF (ANSWER.EQ.YES) GOTO 4970
1222	        IF (ANSWER.EQ.NO) GOTO HELL
1223	        WRITE (4,50)
1224	        GOTO 5280
	C       ***********************************************
	C       THIS IS COMMAND 69 - CHEAT/TEST/DEBUG
	C       ***********************************************
1225	10000   WRITE (4,10010) ARRAY
1226	10010   FORMAT(8I5)
1227	        GOTO HELL
1230	20000   WRITE (4,20010)
1231	20010   FORMAT (6X,'INSTRUCTIONS',//,
	     1  1X,'THE GALAXY IS DIVIDED INTO AN 8,8 QUADRANT GRID',/,
	     2  1X,'WHICH IS IN TURN DIVIDED INTO AN 8,8 SECTOR GRID.',//,
	     3  1X,'THE CAST OF CHARACTERS IS AS FOLLOWS:',/,
	     4  1X,'<*> = ENTERPRISE',/,1X,'+++ = KLINGON',/,1X,'>!< =
	     5   STARBASE',/)
1232	        WRITE (4,20011)
1233	20011   FORMAT(2X,'*  = STAR',/,1X,'COMMAND 0 = WARP ENGINE CONTROL:',/,
	     1  3X,'COURSE IS IN A CIRCULAR NUMERICAL      4  3  2',/,
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  SIXTEEN 

	     2  3X,'VECTOR ARRANGEMENT AS SHOWN.            \ ^ /',/,
	     3  3X,'INTEGER AND REAL VALUES MAY BE           \^/',/,
	     4  3X,'USED.  THEREFORE COURSE 1.5 IS        5 ----- 1')
1234	        WRITE (4,20020)
1235	20020   FORMAT(3X,'HALF WAY BETWEEN 1 AND 2.                /!\',/,
	     1  43X,'/ ! \',/,
	     2  3X,'A VECTOR OF 9 IS UNDEFINED, BUT        6  7  8',/,
	     3  3X,'VALUES MAY APPROACH 9.',17X,'COURSE',//,
	     4  3X,'ONE WARP FACTOR IS THE SIZE OF',/,
	     5  3X,'ONE QUADRANT.  THEREFORE TO GET',/)
1236	        WRITE (4,20021)
1237	20021   FORMAT(3X,'FROM QUADRANT 6,5 TO 5,5 YOU WOULD',/,
	     1  3X,'USE COURSE 3. WARP FACTOR 1.',//,
	     2  1X,'COMMAND 1 = SHORT RANGE SENSOR SCAN',/,
	     3  3X,'PRINTS THE QUADRANT YOU ARE CURRENTLY IN.  INCLUDING')
1240	        WRITE (4,20030)
1241	20030   FORMAT(3X,'STARS, KLINGONS, STARBASES, AND THE ENTERPRISE.
	     1   ALONG',/,
	     2  3X,'WITH OTHER PERTINATE INFORMATION.',//,
	     3  1X,'COMMAND 2 = LONG RANGE SENSOR SCAN',/,
	     4  3X,'SHOWS CONDITIONS IN SPACE FOR ONE QUADRANT ON EACH SIDE',/,
	     5  3X,'OF THE ENTERPRISE IN THE MIDDLE OF THE SCAN. THE SCAN')
1242	        WRITE (4,20031)
1243	20031   FORMAT(3X,'IS CODED IN THE FORM "KBS", WHERE K IS THE NUMBER',/,
	     1  3X,'OF KLINGONS, B IS THE NUMBER OF STARBASES, AND S IS',/,
	     2  3X,'THE NUMBER OF STARS.',//,
	     3  1X,'COMMAND 3 = PHASER CONTROL',/,
	     4  3X,'ALLOWS YOU TO DESTROY THE KLINGONS BY HITTING THEM WITH')
1244	        WRITE (4,20040)
1245	20040   FORMAT(3X,'SUITABLY LARGE NUMBERS OF ENERGY UNITS TO DEPLETE
	     1   THEIR',/,
	     2  3X,'SHIELD POWER.  KEEP IN MIND THAT WHEN YOU SHOOT AT THEM.',/,
	     3  3X,'THEY GONNA SHOOT AT YOU, TOO!',//,
	     4  1X,'COMMAND 4 = PHOTON TORPEDO CONTROL',/,
	     5  3X,'COURSE IS THE SAME AS USED IN WARP ENGINE CONTROL')
1246	        WRITE (4,20041)
1247	20041   FORMAT(3X,'IF YOU HIT THE KLINGON, HE IS DESTROYED AND CANNOT',
	     1  /,3X,'FIRE BACK AT YOU.  IF YOU MISS, YOU ARE SUBJECT TO HIS',
	     2  /,3X,'PHASER FIRE.',//,
	     3  3X,'NOTE:  THE LIBRARY COMPUTER (COMMAND 7) HAS AN OPTION',/,
	     4  3X,'TO COMPUTE TORPEDO TRAJECTORY FOR YOU (OPTION 2).',/)
1250	        WRITE (4,20050)
1251	20050   FORMAT(1X,'COMMAND 5 = SHIELD CONTROL',/,
	     1  3X,'DEFINES NUMBER OF ENERGY UNITS TO BE ASSIGNED TO SHIELDS.',
	     2  /,3X,'ENERGY IS TAKEN FROM TOTAL SHIP''S ENERGY.',/,
	     3  3X,'NOTE:  TOTAL ENERGY INCLUDES SHIELD ENERGY.',//,
	     4  1X,'COMMAND 6 = DAMAGE CONTROL REPORT',/,
	     5  3X,'GIVES STATE OF REPAIRS OF ALL DEVICES. A STATE OF REPAIR')
1252	        WRITE (4,20051)
1253	20051   FORMAT(/,3X,'LESS THAN ZERO SHOWS THAT THE DEVICE IS ',/,
	     1  3X,'TEMPORALLY DAMAGED.',//,
	     2  1X,'COMMAND 7 = LIBRARY COMPUTER',/,
	     3  3X,'THE LIBRARY COMPUTER CONTAINS THREE OPTIONS:')
1254	        WRITE (4,20060)
1255	20060   FORMAT(5X,'OPTION 0 = CUMULATIVE GALACTIC RECORD',/,
        FORTRAN IV  5AAAA (A6)   9-APR-92             PAGE  SEVENTEEN 

	     1  7X,'WHICH SHOWS COMPUTER MEMORY OF THE RESULTS',/,
	     2  7X,'OF ALL PREVIOUS LONG RANGE SENSOR SCANS.',/,
	     3  5X,'OPTION 1 = STATUS REPORT',/,
	     4  7X,'WHISH SHOWS NUMBER OF KLINGONS, STARBASES,',/,
	     5  7X,'AND STARDATES LEFT.',/)
1256	        WRITE (4,20061)
1257	20061   FORMAT(5X,'OPTION 2 = PHOTON TORPEDO DATA',/,
	     1  7X,'GIVES TRAJECTORY AND DISTANCE BETWEEN THE',/,
	     2  7X,'ENTERPRISE AND ALL KLINGONS IN YOUR QUADRANT',/,
	     3  7X,'IF YOU WISH TO USE THE COMPUTER''S CALCULATOR',/,
	     4  7X,'TO AID NAVIGATION OR DOCKING THEN ENTER',/,
	     5  7X,'COORDINATES (QUADRANT OR SECTOR)')
1260	        WRITE (4,20062)
1261	20062   FORMAT(7X,'OF SHIP AND TARGET - IN SOURCE,DESTINATION',/,
	     1  7X,'FORMAT - EG...S,S,T,T',/)
1262	        WRITE (4,20070)
1263	20070   FORMAT (1X,'COMMAND 8 = BEGIN NEW CONTEST',/,
	     1  3X,'STARTS PROGRAM OVER AGAIN WITH ALL NEW DATA.',/,
	     2  3X,'USED TO CREATE MORE CHALLENGING SETUP - IE: MORE',/,
	     3  3X,'KLINGONS AND FEWER STARBASES!',///)
1264	        GOTO 100
1265	        END