home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / FORTRAN / SUPERT87.ZIP / DAMAGE.FOR < prev    next >
Encoding:
Text File  |  1986-12-15  |  5.1 KB  |  71 lines

  1.       SUBROUTINE DAMAGE(NX,SUM)                                         0846
  2.  
  3. c    include 'tcommon.for'
  4.     %include tcommon.for
  5.  
  6. C     ...NX=1 FOR P OR T HIT                                            0869
  7. C     ...NX=0 FOR COLLISIN                                              0870
  8.       IF(NX)5,5,100                                                     0871
  9. C     ...MINIMUM SET AT 1000.                                           0872
  10. 5     IF(SUM.LT.ZMIN)SUM=ZMIN                                           0873
  11. C     ...TWO ITEMS DAMAGED IN COLLISION                                 0874
  12.       DO 10    I=1,2                                                    0875
  13.       IF(NX.GE.0)GO TO 15                                               0876
  14.       J=I+5                                                             0877
  15.       GO TO 30                                                          0878
  16. 15    X=RAN(IZZ)                                                        0879
  17.       DO 20    J=1,10                                                   0880
  18.       IF(X.LE.J/10.)GO TO 30                                            0881
  19. 20    CONTINUE                                                          0882
  20. 30    SDAYS=RAN(IZZ)*SUM/DIV1                                           0883
  21.       WRITE(6,1)NAMD(J)                                                 0884
  22. 1     FORMAT(1X,A10,' DAMAGED')                                         0885
  23.       IF(J.EQ.10)GO TO 32                                               0886
  24.       IF(J.NE.1)GO TO 35                                                0887
  25.       IHWARP=IHWARP+1                                                   0888
  26. C     ...END OF GAME IF MORE THAN 2 HITS ON W DRIVE BEFORE REPAIRED.    0889
  27.       IF(IHWARP.GT.2)CALL RATING(6)                                     0890
  28. 32    I   F(NDRA.EQ.0)GO TO 35                                          0891
  29.       NDRA=0                                                            0892
  30.       WRITE(6,4)                                                        0893
  31. 4     FORMAT(' ENERGY FORMS DISTROYED DURING DAMAGE')                   0894
  32. 35    IDMG(J)=IDMG(J)+SDAYS*100.                                        0895
  33. 10    CONTINUE                                                          0896
  34.       KLED=(RAN(IZZ)*SUM/DIV1)*MULTK1                                   0897
  35.       DSP=0.                                                            0898
  36.       PSP=0.                                                            0899
  37.       SUM=0.                                                            0900
  38.       DEFL=0.                                                           0901
  39.       DDEG=PDEG                                                         0902
  40. C     ...DISTRIBUTE KLED AMONGST CREW+TROOPS RANDOMLY.                  0903
  41. 45    KKLED=RAN(IZZ)*KLED                                               0904
  42.       LKLED=MIN0(KLED-KKLED,MEN)                                        0905
  43.       KKLED=MIN0(KLED-LKLED,ITRMEN(1))                                  0906
  44.       KLED=LKLED+KKLED                                                  0907
  45.       MEN=MEN-LKLED                                                     0908
  46.       ITRMEN(1)=ITRMEN(1)-KKLED                                         0909
  47.       IF(ITRMEN(1).LT.0)ITRMEN(1)=0                                     0910
  48.       IF(MEN.GT.6)GO TO 50                                              0911
  49.       CALL RATING(5)                                                    0912
  50. 50    WRITE(6,2)KLED,MEN, ITRMEN(1)                                     0913
  51. 2     FORMAT(' MEN KILLED: ',I4,' CREW LEFT: ',I4,' TROOPS LEFT: ',I4)  0914
  52.       RETURN                                                            0915
  53. C     ...P OR T HIT WITH SHIELDS DOWN.                                  0916
  54. 100   X=RAN(IZZ)                                                        0917
  55.       DO 110    J=1,10                                                  0918
  56.       IF(X.LE.J/10.)GO TO 130                                           0919
  57. 110   CONTINUE                                                          0920
  58. 130   SDAYS=RAN(IZZ)*SUM/DIV2                                           0921
  59.       WRITE(6,1)NAMD(J)                                                 0922
  60.       IF(J.EQ.10)GO TO 42                                               0923
  61.       IF(J.NE.1)GO TO 44                                                0924
  62.       IHWARP=IHWARP+1                                                   0925
  63.       IF(IHWARP.GT.2)CALL RATING(6)                                     0926
  64. 42    I   F(NDRA.EQ.0)GO TO 44                                          0927
  65.       NDRA=0                                                            0928
  66.       WRITE(6,4)                                                        0929
  67. 44    IDMG(J)=IDMG(J)+SDAYS*100.                                        0930
  68.       KLED=RAN(IZZ)*SUM/DIV2*MULTK2                                     0931
  69.       GO TO 45                                                          0932
  70.       END                                                               0933
  71.