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

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

	C       *************************************************************
	C       *************************************************************
	C       THIS IS 'THE ENEMY SHOOTS BACK' SUBROUTINE
	C       THE CALL MUST BE FOLLOWED BY 'IF(SHIELD.LT.0) GOTO 4000'
0002	        SUBROUTINE SHOOT
0003	        COMMON ARRAY,ZONE1,ZONE2,INSERT,RANK1,RANK2,OK,IRA,JONES
0004	        COMMON DOCKED,KLING3,KLINST,SECT1,SECT2,SHIELD
0005	        INTEGER ARRAY(8,8,3),ZONE1,ZONE2,RANK1,RANK2,OK,DOCKED
0006	        INTEGER KLINST(3,3),HIT,SECT1,SECT2,SHIELD
0007	        IF (DOCKED.EQ.0) GOTO 3820
0010	        WRITE (4,3800)
0011	3800    FORMAT(1X,'STAR BASE SHIELDS PROTECT THE ENTERPRISE.')
0012	        RETURN
0013	3820    IF (KLING3.LE.0) GOTO 3910
0014	        DO 3900 I=1,3
0015	        IF (KLINST(I,3).LE.0) GOTO 3900
0016	        TEMP = SQRT(FLOAT((KLINST(I,1)-SECT1)**2+(KLINST(I,2)-SECT2)**2))
0017	        HIT = INT((KLINST(I,3)/TEMP)*(2.+RAN(IRA,JONES)))
0020	        SHIELD = SHIELD-HIT
0021	        WRITE (4,3860)HIT,KLINST(I,1),KLINST(I,2),SHIELD
0022	3860    FORMAT(1X,'KLINGON ATTACK',/,1X,
	     1  I4,' UNIT HIT ON ENTERPRISE FROM SECTOR ',I2,' ,',I2,
	     1  5X,'(',I5,' LEFT)')
0023	        IF (SHIELD.LT.0) GOTO 3910
0024	3900    CONTINUE
0025	3910    RETURN
0026	        END