|
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