![]() |
Routines |
| Prev: DD6A | Up: Map | Next: DD99 |
|
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.
|
||||||||
| 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 |