block improvements
This commit is contained in:
parent
31aef6525c
commit
4ec43e7ce9
@ -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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user