|
|
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 p
Length: 1519 (0x5ef)
Types: TextFile
Names: »priori.f«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Empire/priori.f«
FUNCTION PRIORI(Z6,IFO,ILA,DIR,AC)
C
IMPLICIT INTEGER(A-Z)
include 'common.h'
C
character GROUND,OK
C
DO 100 I=1,7
100 PRIOR(I)=0
EXPMAX=0
C
C NOW MAKE A GUESS AS TO WHAT THE MOVE WILL BE
C
MOVE1=ILA
IF (IFO.EQ.1.OR.IFO.EQ.2) MOVE1=MOV(Z6,ILA)
IF (IFO.EQ.3) MOVE1=MOV(Z6,RLMAP(ITT2+ILA))
C
C NOW SEE IF ANY PRIORITY MOVES EXIST
C
DO 200 I=0,7*DIR,DIR
MOVE=ICORR(MOVE1+I)
LOC=Z6+IARROW(MOVE+1)
comment **
IF (ORDER(LOC).NE.0) GOTO 200
AB=RMAP(LOC)
C
C CHECK IF ARMY CAN ATTACK SOMETHING OVER WATER
C
GROUND=OMAP(LOC)
OK='Y'
IF ((AC.EQ.'t').AND.(GROUND.EQ.'.')) OK='N'
C
IF (AB.EQ.'O') PRIOR(1)=MOVE
IF ((AB.EQ.'T').AND.(OK.EQ.'Y')) PRIOR(3)=MOVE
IF (AB.EQ.'*') PRIOR(2)=MOVE
IF (AB.EQ.'A') PRIOR(5)=MOVE
IF ((AB.EQ.'S').AND.(OK.EQ.'Y')) PRIOR(6)=MOVE
IF ((IFO.EQ.0).AND.(AB.GE.'A').AND.(AB.LE.'T').AND.(OK.EQ.'Y'))
1 PRIOR(7)=MOVE
C
IF (GROUND.NE.'+') GOTO 200
N=0
IF (EMAP(LOC+IARROW(ICORR(MOVE-2)+1)).EQ.' ') N=1
comment **
IF (EMAP(LOC+IARROW(ICORR(MOVE-1)+1)).EQ.' ') N=N+1
comment **
IF (EMAP(LOC+IARROW(MOVE+1)).EQ.' ') N=N+1
comment **
IF (EMAP(LOC+IARROW(ICORR(MOVE+1)+1)).EQ.' ') N=N+1
comment **
IF (EMAP(LOC+IARROW(ICORR(MOVE+2)+1)).EQ.' ') N=N+1
comment **
C PRINT 999,N,EXPMAX
C999 FORMAT(' N:',I2,' EXPMAX:',I2)
IF (N.LE.EXPMAX) GOTO 200
PRIOR(4)=MOVE
EXPMAX=N
200 CONTINUE
C PRINT 998
C998 FORMAT(' XXXXXXXXXXXXXXXX')
C
C NOW SELECT THE HIGHEST PRIORITY MOVE
C
DO 300 I=1,7
300 IF (PRIOR(I).NE.0) GOTO 400
PRIORI=0
RETURN
400 PRIORI=PRIOR(I)
RETURN
END