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