diff --git a/games/boybomb.p8 b/games/boybomb.p8 index 2c4db36..f1a417b 100644 --- a/games/boybomb.p8 +++ b/games/boybomb.p8 @@ -201,30 +201,32 @@ function update_level() end if t() - last_gravity > fall_speed then last_gravity = t() - for y=GRID_H,1,-1 do + for y=1,GRID_H do for x=1,GRID_W do -- explode if puzzle_grid[y][x] == GRID_EXPLODE then - if y > 1 and puzzle_grid[y-1][x] == GRID_BOX then + if y > 1 and puzzle_grid[y-1][x] == BOX_FIRE then puzzle_grid[y-1][x] = GRID_EXPLODE end - if y < GRID_H and puzzle_grid[y+1][x] == GRID_BOX then + if y < GRID_H and puzzle_grid[y+1][x] == BOX_FIRE then puzzle_grid[y+1][x] = GRID_EXPLODE end - if x > 1 and puzzle_grid[y][x-1] == GRID_BOX then + if x > 1 and puzzle_grid[y][x-1] == BOX_FIRE then puzzle_grid[y][x-1] = GRID_EXPLODE end - if x < GRID_W and puzzle_grid[y][x+1] == GRID_BOX then + if x < GRID_W and puzzle_grid[y][x+1] == BOX_FIRE then puzzle_grid[y][x+1] = GRID_EXPLODE end - --puzzle_grid[y][x] = 0 + puzzle_grid[y][x] = 0 end -- fall down if y < GRID_H - and puzzle_grid[y][x] == GRID_BOX - and puzzle_grid[y+1][x] == 0 then + and puzzle_grid[y+1][x] == 0 + and puzzle_grid[y][x] != 0 + then puzzle_grid[y+1][x] = puzzle_grid[y][x] puzzle_grid[y][x] = 0 + -- crushed, explode if y+1 == bomb_y and x == bomb_x then explode() puzzle_grid[y+1][x] = 0 @@ -283,7 +285,12 @@ _scenes.level = {start=nil, draw=draw_level, update=update_level} GRID_W = 8 GRID_H = 9 -GRID_BOX = 137 +BOX_WOOD = 137 +BOX_STEEL = 138 +BOX_FIRE = 139 +BOX_FROG = 140 +BOX_NUKE = 141 +BOX_WATER = 142 GRID_EXPLODE = 76 animations = {