diff --git a/games/sb/TODO b/games/sb/TODO index a33d756e..3c36b72d 100644 --- a/games/sb/TODO +++ b/games/sb/TODO @@ -14,10 +14,8 @@ Strongbadzone: + Create sprites for ball (24 of them?) + Ball movement logic. Is actually just 2D + Check bounds on person -+ Sprites for shield positions -+ Sprites with mask? ++ Do the color mask (different blacks) + Animate side walls -+ Move head + Faster hgr copy? Cliff: diff --git a/games/sb/asplode.s b/games/sb/asplode.s index 71d60249..d1b1bd1d 100644 --- a/games/sb/asplode.s +++ b/games/sb/asplode.s @@ -103,6 +103,7 @@ load_background: lda #SHIELD_DOWN sta SHIELD_POSITION + sta SHIELD_COUNT ;========================== ; main loop @@ -137,6 +138,21 @@ done_flip: inc FRAME + ;========================== + ; adjust shield + ;========================== + + lda SHIELD_COUNT + beq done_shield_count + + dec SHIELD_COUNT + bne done_shield_count + + lda #SHIELD_DOWN ; put shield down if timeout + sta SHIELD_POSITION + +done_shield_count: + ;=========================== ; move head ;=========================== @@ -254,6 +270,8 @@ shield_right: lda #SHIELD_UP_RIGHT adjust_shield: sta SHIELD_POSITION + lda #5 + sta SHIELD_COUNT jmp main_loop diff --git a/games/sb/zp.inc b/games/sb/zp.inc index 572bd7dc..71cfec55 100644 --- a/games/sb/zp.inc +++ b/games/sb/zp.inc @@ -70,6 +70,7 @@ SHIELD_POSITION = $6E SHIELD_UP_LEFT = 1 SHIELD_UP_CENTER = 2 SHIELD_UP_RIGHT = 3 +SHIELD_COUNT = $6F .if 0 REGISTER_DUMP = $70