![]() |
Routines |
Prev: 25691 | Up: Map | Next: 25737 |
Loop over the alien bullet structures, calling the move_alien_bullet routine for each one that's in use. For each slot that's not in use call the routine which decides whether to fire off another.
Used by the routine at start.
|
||||
move_alien_bullets | 25708 | LD A,4 | Up to 4 alien bullets in play | |
25710 | LD (_ALIEN_BULLET_COUNTER),A | Loop counter | ||
25713 | LD IX,_ALIEN_BULLET_ARRAY | Alien bullet array, x,y entries | ||
move_alien_bullets_0 | 25717 | LD A,(IX+1) | If this bullet slot isn't in use jump off to decide whether an alien should fire | |
25720 | OR A | |||
25721 | JR Z,slot_not_in_use | |||
25723 | CALL move_alien_bullet | Slot in use - move this alien bullet | ||
25726 | JR next_bullet | Jump forward to get next bullet | ||
slot_not_in_use | 25728 | CALL generate_alien_bullets | Aliens fire back | |
next_bullet | 25731 | CALL next_alien_bullet | Move to next alien bullet, update the generic loop counter | |
25734 | JR NZ,move_alien_bullets_0 | |||
25736 | RET |
Prev: 25691 | Up: Map | Next: 25737 |