Prev: 30202 Up: Map Next: 30229
30205: Check whether a pellet has hit a cup
Used by routine at 30229. Returns with the zero flag set if the pellet is about to hit a cup.
Input
H Pellet's character number (213 or 214)
30205 LD L,1 Point HL at byte 1 of the pellet's buffer
30207 LD E,(HL) E=pellet's x-coordinate
30208 INC L L=2
30209 LD D,(HL) D=pellet's y-coordinate
30210 INC E Adjust the coordinates for comparison with those of the cup
30211 INC D
30212 LD A,D A=pellet's (adjusted) y-coordinate
30213 CP 14 All the cups have a y-coordinate of 14
30215 RET NZ Return with the zero flag reset if the pellet's not at the right height to hit a cup
This entry point is used by the routine at 29462 with E holding the x-coordinate of ERIC's hand as he jumps off the saddle of the bike.
30216 LD A,E A=x-coordinate of the pellet or ERIC's hand
This entry point is used by the routine at 64077 with A holding the x-coordinate of the stream of water or sherry fired from the waterpistol.
30217 CP 25 Has the leftmost cup on the shelf in the boys' skool been hit?
30219 RET Z Return with the zero flag set if so
30220 CP 27 Has the middle cup on the shelf in the boys' skool been hit?
30222 RET Z Return with the zero flag set if so
30223 CP 30 Has the rightmost cup on the shelf in the boys' skool been hit?
30225 RET Z Return with the zero flag set if so
30226 CP 186 Has the cup on the shelf in the girls' skool been hit?
30228 RET Return with the zero flag set if so
Prev: 30202 Up: Map Next: 30229