SUBROUTINE WALL(WALCOL,WALROW,WALDIR) IMPLICIT INTEGER (A-Z) # # THIS SUBROUTINE DECIDES WHICH DIRECTION TO MOVE A # MONSTER WHEN HE RUNS INTO A WALL. # INCLUDE/NL SY:PACMAN.CMN DIMENSION PREF(4) IF (COL > WALCOL) [ X1 = RIGHT X2 = LEFT ] ELSE [ X1 = LEFT X2 = RIGHT ] IF (ROW > WALROW) [ Y1 = DOWN Y2 = UP ] ELSE [ Y1 = UP Y2 = DOWN ] IF (WALDIR == LEFT .OR. WALDIR == RIGHT) [ PREF(1) = Y1 PREF(2) = Y2 PREF(3) = X1 PREF(4) = X2 ] ELSE [ PREF(1) = X1 PREF(2) = X2 PREF(3) = Y1 PREF(4) = Y2 ] DO I = 1,4 [ WALDIR = PREF(I) IF (TSTBIT(MSTATE(WALCOL,WALROW),WALDIR) == 1) BREAK ] RETURN END