![]() |
Routines |
| Prev: 7279 | Up: Map | Next: 72A3 |
|
The handler for the custard (IDs 04 and 05), which bounces around the play area diagonally. It is moved by MoveBouncingActor. While the custard is still entering from the right of the screen (a horizontal co-ordinate of C8 or more) it can't hit Charlie or be hit, and it is given a random vertical speed.
|
||||||||
| HandleCustard | 7281 | CALL StoreEntity | Record the position of the sprite using StoreEntity. | |||||
| 7284 | LD HL,$5F1B | Point HL at ActorsInPlay. | ||||||
| 7287 | INC (HL) | Increase the number of actors in play by one. | ||||||
| 7288 | LD A,(IX+$01) | Fetch the horizontal co-ordinate. | ||||||
| 728B | CP $C8 | Jump to SetCustardVerticalSpeed if the custard is still entering from the right. | ||||||
| 728D | JR NC,SetCustardVerticalSpeed | |||||||
| 728F | CALL TestCharlieCollision | Test whether the custard has hit Charlie using TestCharlieCollision. | ||||||
| 7292 | DEC E | Has Charlie been hit (is E now zero)? | ||||||
| 7293 | JP Z,LoseHat | Jump to LoseHat if Charlie has been hit. | ||||||
| 7296 | CALL TestFlourCollision | Test whether a flour shot has hit the custard using TestFlourCollision. | ||||||
| 7299 | BIT 7,(IX+$00) | Jump to HandleHitActor if the custard has been hit. | ||||||
| 729D | JR NZ,HandleHitActor | |||||||
| 729F | LD (IX+$03),$46 | Set the actor colour to 46 (yellow). | ||||||
| Prev: 7279 | Up: Map | Next: 72A3 |