File: STARSH.FT of Disk: Disks/Working/Build-11-03-07
(Source file text)
C ************************************************************* C ************************************************************* C THIS IS 'THE ENEMY SHOOTS BACK' SUBROUTINE C THE CALL MUST BE FOLLOWED BY 'IF(SHIELD.LT.0) GOTO 4000' SUBROUTINE SHOOT COMMON ARRAY,ZONE1,ZONE2,INSERT,RANK1,RANK2,OK,IRA,JONES COMMON DOCKED,KLING3,KLINST,SECT1,SECT2,SHIELD INTEGER ARRAY(8,8,3),ZONE1,ZONE2,RANK1,RANK2,OK,DOCKED INTEGER KLINST(3,3),HIT,SECT1,SECT2,SHIELD IF (DOCKED.EQ.0) GOTO 3820 WRITE (4,3800) 3800 FORMAT(1X,'STAR BASE SHIELDS PROTECT THE ENTERPRISE.') RETURN 3820 IF (KLING3.LE.0) GOTO 3910 DO 3900 I=1,3 IF (KLINST(I,3).LE.0) GOTO 3900 TEMP = SQRT(FLOAT((KLINST(I,1)-SECT1)**2+(KLINST(I,2)-SECT2)**2)) HIT = INT((KLINST(I,3)/TEMP)*(2.+RAN(IRA,JONES))) SHIELD = SHIELD-HIT WRITE (4,3860)HIT,KLINST(I,1),KLINST(I,2),SHIELD 3860 FORMAT(1X,'KLINGON ATTACK',/,1X, 1 I4,' UNIT HIT ON ENTERPRISE FROM SECTOR ',I2,' ,',I2, 1 5X,'(',I5,' LEFT)') IF (SHIELD.LT.0) GOTO 3910 3900 CONTINUE 3910 RETURN END