![]() |
Routines |
H | Pellet's character number |
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 |
30216 | LD A,E | A=x-coordinate of pellet or ERIC's hand |
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 |