![]() |
Routines |
| Prev: 30205 | Up: Map | Next: 30291 |
| H | Pellet's character number (213 or 214) |
| 30229 | CALL 30205 | Has the pellet hit a cup? |
| 30232 | RET NZ | Return with the zero flag reset if not |
| 30233 | LD A,(32747) | Pick up the inventory flags from 32747 |
| 30236 | BIT 1,A | Has ERIC got the Science Lab storeroom key? |
| 30238 | JR Z,30262 | Jump if not |
| 30240 | LD A,(54273) | A=frog's x-coordinate |
| 30243 | INC A | Adjust it for comparison with that of the cup that was hit |
| 30244 | CP E | Does the frog's x-coordinate match that of the cup? |
| 30245 | JR NZ,30262 | Jump if not |
| 30247 | LD A,(54274) | A=frog's y-coordinate |
| 30250 | CP 11 | Is the frog in the cup? |
| 30252 | JR NZ,30262 | Jump if not |
| 30254 | PUSH HL | |
| 30255 | LD HL,30804 | Place the address of the routine at 30804 into bytes 17 and 18 of the frog's buffer, thus releasing the frog |
| 30258 | LD (54289),HL | |
| 30261 | POP HL | |
| 30262 | LD A,(32767) | A=leftmost column of play area on screen |
| 30265 | LD B,A | Return if the cup is off-screen to the left |
| 30266 | LD A,E | |
| 30267 | SUB B | |
| 30268 | RET C | |
| 30269 | CP 32 | Return if the cup is off-screen to the right |
| 30271 | RET NC | |
| 30272 | ADD A,192 | Point DE at the attribute file byte for the cup |
| 30274 | LD E,A | |
| 30275 | LD D,89 | |
| 30277 | LD A,(DE) | Pick up the attribute byte of the cup |
| 30278 | CP 40 | Does the cup contain water (PAPER 5)? |
| 30280 | JR NZ,30285 | Jump if not |
| 30282 | LD A,31 | 31: Drop of water |
| 30284 | RET | Return with the zero flag set |
| 30285 | CP 88 | Does the cup contain sherry (BRIGHT 1, PAPER 3)? |
| 30287 | RET NZ | Return if not |
| 30288 | LD A,159 | 159: Drop of sherry |
| 30290 | RET | Return with the zero flag set |
| Prev: 30205 | Up: Map | Next: 30291 |