|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T f
Length: 2250 (0x8ca) Types: TextFile Names: »find.f«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Empire/find.f«
subroutine find(own, z6, z8, h2) c c Cross-reference subroutine, it finds data on whatever c craft is at point z6. c IMPLICIT INTEGER(A-Z) include 'common.h' C if (h2 .gt. 0) goto 1100 c c Now we must destroy own c first of all, update troopt c ishp = 0 if (own .eq. 'D') ishp = 1 if (own .eq. 'S') ishp = 2 if (own .eq. 'T') ishp = 3 if (own .eq. 'R') ishp = 4 if (own .eq. 'C') ishp = 5 if (own .eq. 'B') ishp = 6 if (ishp .eq. 0) goto 200 do 100 z = 1, 5 100 if (troopt(ishp, z) .eq. z6) troopt(ishp, z) = 0 c c Now destroy the craft, set rlmap(n)=0 c 200 if (own .ne. 'C') goto 400 do 300 z = 1, 200 if (rlmap(500 + z) .ne. z6) goto 300 rlmap(500 + z) = 0 if (mode .eq. 1) call tpos(2, 60) print 999, z 999 format('+Fighter #'I3' sunk'$) 300 continue 400 if (own .ne. 'T') goto 600 do 500 z = 1, 500 if (rlmap(z) .ne. z6) goto 500 rlmap(z) = 0 if (mode .eq. 1) call tpos(2, 60) print 998, z 998 format('+Army #'I3' sunk'$) 500 continue 600 if (own .ne. 't') goto 800 do 700 z = 1501, 2000 700 if (rlmap(z) .eq. z6) rlmap(z) = 0 800 if (own .ne. 'c') goto 1000 do 900 z = 2001, 2200 900 if (rlmap(z) .eq. z6) rlmap(z) = 0 1000 rlmap(z8) = 0 if ((own .ge. 'a') .and. (own .le. 't')) call sonar(z6) if ((own .ge. 'A') .and. (own .le. 'T')) call sensor(z6) return 1100 if (h2 .eq. 30) goto 1200 if ((own .eq. 'A') .or. (own .eq. 'F') .or. (own .eq. 'a') .or. $ (own .eq. 'f')) return if ((own .ge. 'A') .and. (own .le. 'T')) j1ts(z8 - 700) = h2 if ((own .ge. 'a') .and. (own .le. 't')) j1ts(z8 - 1400) = h2 return 1200 h2 = 0 ia = 1 if (own .eq. 'T') ia = 1101 if (own .eq. 'O') ia = 1101 comment special hack for docking if (own .eq. 'C') ia = 1301 if (own .eq. 'a') ia = 1501 if (own .eq. 'f') ia = 2001 if (own .eq. 't') ia = 2601 if (own .eq. 'c') ia = 2801 do 1300 z8 = ia, 3000 if (rlmap(z8) .eq. z6) goto 1400 1300 continue pause ' Error in subroutine find, "CONTINUE" to continue' 997 format(' ERROR IN SUB. FIND') return 1400 if ((own .eq. 'A') .or. (own .eq. 'F') .or. (own .eq. 'a') .or. $ (own .eq. 'f')) h2 = 1 if (h2 .eq. 1) return if ((own .ge. 'A') .and. (own .le. 'T')) h2 = j1ts(z8 - 700) if ((own .ge. 'a') .and. (own .le. 't')) h2 = j1ts(z8 - 1400) return end