Routines |
Prev: 30291 | Up: Map | Next: 30380 |
|
||||||||
30292 | PUSH HL | |||||||
30293 | LD HL,32756 | 32756 contains the doors flags | ||||||
30296 | LD A,E | A=x-coordinate of the point in front of the mouse/frog/pellet | ||||||
30297 | CP 190 | This is the x-coordinate of the far wall of the girls' skool | ||||||
30299 | JR NC,30335 | Jump if the mouse/frog/pellet is facing this wall | ||||||
30301 | LD A,D | A=y-coordinate of the mouse/frog/pellet | ||||||
30302 | CP 5 | Is the mouse/frog/pellet on the top floor (or just below it)? | ||||||
30304 | JR NC,30338 | Jump if not | ||||||
The mouse/frog/pellet is on the top floor.
|
||||||||
30306 | LD A,E | A=x-coordinate of the point in front of the mouse/frog/pellet | ||||||
30307 | CP 159 | This is the x-coordinate of the left wall of the girls' skool | ||||||
30309 | JR Z,30335 | Jump if the mouse/frog/pellet is facing this wall | ||||||
30311 | LD D,1 | Set bit 0: left study door | ||||||
30313 | CP 72 | This is the x-coordinate of the left study door | ||||||
30315 | JR Z,30331 | Jump if the mouse/frog/pellet is facing this door | ||||||
30317 | INC D | Set bit 1: right study door | ||||||
30318 | CP 84 | This is the x-coordinate of the right study door | ||||||
30320 | JR Z,30331 | Jump if the mouse/frog/pellet is facing this door | ||||||
30322 | LD D,64 | Set bit 6: top-floor window | ||||||
30324 | CP 92 | This is the x-coordinate of the top-floor window | ||||||
30326 | JR Z,30331 | Jump if the mouse/frog/pellet is facing this window | ||||||
30328 | AND A | Clear the carry flag: no obstacles ahead | ||||||
30329 | POP HL | Restore the character number of the mouse/frog/pellet to H | ||||||
30330 | RET | Return with the carry flag reset | ||||||
30331 | LD A,D | A holds the identifier of the door or window in front of the mouse/frog/pellet | ||||||
30332 | AND (HL) | Is this door/window open? | ||||||
30333 | JR NZ,30329 | Jump if so | ||||||
30335 | SCF | Set the carry flag: no admittance | ||||||
30336 | POP HL | Restore the character number of the mouse/frog/pellet to H | ||||||
30337 | RET | Return with the carry flag set | ||||||
30338 | CP 12 | |||||||
30340 | LD A,E | |||||||
30341 | JR NC,30366 | Jump if the mouse/frog/pellet is on the bottom floor (or just above it) | ||||||
The mouse/frog/pellet is on the middle floor.
|
||||||||
30343 | CP 159 | This is the x-coordinate of the left wall of the girls' skool | ||||||
30345 | JR Z,30335 | Jump if the mouse/frog/pellet is facing this wall | ||||||
30347 | CP 62 | This is the x-coordinate of the far wall of the Science Lab storeroom | ||||||
30349 | JR Z,30335 | Jump if the mouse/frog/pellet is facing this wall | ||||||
30351 | CP 53 | This is the x-coordinate of the Science Lab storeroom door | ||||||
30353 | LD D,4 | Set bit 2: Science Lab storeroom door | ||||||
30355 | JR Z,30331 | Jump if the mouse/frog/pellet is facing this door | ||||||
30357 | LD D,128 | Set bit 7: middle-floor window | ||||||
30359 | CP 94 | This is the x-coordinate of the middle-floor window | ||||||
30361 | JR Z,30331 | Jump if the mouse/frog/pellet is facing this window | ||||||
30363 | AND A | Clear the carry flag: no obstacles ahead | ||||||
30364 | POP HL | Restore the character number of the mouse/frog/pellet to H | ||||||
30365 | RET | Return with the carry flag reset | ||||||
The mouse/frog/pellet is on the bottom floor.
|
||||||||
30366 | LD D,8 | Set bit 3: boys' skool door | ||||||
30368 | CP 94 | This is the x-coordinate of the boys' skool door | ||||||
30370 | JR Z,30331 | Jump if mouse/frog/pellet is facing this door | ||||||
30372 | LD D,16 | Set bit 4: skool gate | ||||||
30374 | CP 133 | This is the x-coordinate of the skool gate | ||||||
30376 | JR Z,30331 | Jump if the mouse/frog/pellet is facing this | ||||||
30378 | JR 30363 | Otherwise it's all clear |
Prev: 30291 | Up: Map | Next: 30380 |