Prev: DD6A Up: Map Next: DD99
DD72: Turn a chaser towards the knight
Four entries, reached through TURN_TO_KNIGHT_TABLE: here (the knight behind it) a quarter left or right at random; at offset 7 (STEER_LEFT) a quarter left; at offset 15 (STEER_ON) no turn; at offset 32 (STEER_RIGHT) a quarter right. Each then starts a new count of 1-16 turns in the facing's low bits.
Input
IX The record
STEER_EITHER DD72 LD A,($BBAB) Behind: left or right at random
DD75 CP $80
DD77 JR C,STEER_RIGHT
STEER_LEFT DD79 LD A,(IX+$06) Turn left (facing less $40)
DD7C SUB $40
STEER_EITHER_0 DD7E LD (IX+$06),A The new facing
STEER_ON DD81 LD A,(IX+$06) A new count of 1-16, from the random number
DD84 AND $C0
DD86 LD C,A
DD87 LD A,(RANDOM)
DD8A AND $0F
DD8C INC A
DD8D OR C
DD8E LD (IX+$06),A
DD91 RET
STEER_RIGHT DD92 LD A,(IX+$06) Turn right (facing plus $40)
DD95 ADD A,$40
DD97 JR STEER_EITHER_0
Prev: DD6A Up: Map Next: DD99