- Reestructuració
This commit is contained in:
135
data/bambolla.lua
Normal file
135
data/bambolla.lua
Normal file
@@ -0,0 +1,135 @@
|
||||
bambolla={hab=75,x=24,y=24,cx=0,dx=0,dy=0,flip=true,enabled=false,counter=800,wait=0,bb={x=4,y=4,w=8,h=8}}
|
||||
|
||||
function bambolla.reset()
|
||||
bambolla.hit=bambolla.hit
|
||||
bambolla.update=bambolla.update_normal
|
||||
bambolla.draw=bambolla.draw_normal
|
||||
bambolla.hab=abad.hab
|
||||
bambolla.enabled=false
|
||||
bambolla.counter=800
|
||||
end
|
||||
|
||||
function bambolla.init()
|
||||
bambolla.enabled=false
|
||||
bambolla.hit=bambolla.hit
|
||||
bambolla.update=bambolla.update_normal
|
||||
bambolla.draw=bambolla.draw_normal
|
||||
bambolla.hab=abad.hab
|
||||
if abad.x<40 then
|
||||
if check_tile(bambolla.hab,92,38)<tiletype.half and
|
||||
check_tile(bambolla.hab,84,38)<tiletype.half and
|
||||
check_tile(bambolla.hab,92,30)<tiletype.half and
|
||||
check_tile(bambolla.hab,84,30)<tiletype.half and
|
||||
check_tile(bambolla.hab,92,46)>=tiletype.half then
|
||||
bambolla.enabled=true
|
||||
bambolla.flip=true
|
||||
bambolla.x=92
|
||||
else
|
||||
bambolla.reset()
|
||||
end
|
||||
else
|
||||
if check_tile(bambolla.hab,0,38)<tiletype.half and
|
||||
check_tile(bambolla.hab,8,38)<tiletype.half and
|
||||
check_tile(bambolla.hab,0,30)<tiletype.half and
|
||||
check_tile(bambolla.hab,0,30)<tiletype.half and
|
||||
check_tile(bambolla.hab,0,46)>=tiletype.half then
|
||||
bambolla.enabled=true
|
||||
bambolla.flip=false
|
||||
bambolla.x=-12
|
||||
else
|
||||
bambolla.reset()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function bambolla.draw_normal()
|
||||
if bambolla.enabled then
|
||||
sspr(112,16,16,16,bambolla.x,bambolla.y,16,16)
|
||||
end
|
||||
end
|
||||
|
||||
function bambolla.hit()
|
||||
end
|
||||
|
||||
function bambolla.update_normal()
|
||||
bambolla.wait=bambolla.wait+1
|
||||
|
||||
if bambolla.wait==3 then
|
||||
bambolla.wait=0
|
||||
if not bambolla.enabled then
|
||||
bambolla.counter=bambolla.counter-1
|
||||
local r = rnd(bambolla.counter)
|
||||
--print(r)
|
||||
if bambolla.counter==1 or r==1 then
|
||||
bambolla.init()
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
if bambolla.flip then
|
||||
bambolla.x=bambolla.x-2
|
||||
if bambolla.x<=-12 then
|
||||
bambolla.reset()
|
||||
end
|
||||
else
|
||||
bambolla.x=bambolla.x+2
|
||||
if bambolla.x>=92 then
|
||||
bambolla.reset()
|
||||
end
|
||||
end
|
||||
bambolla.y=28-abs(sin(bambolla.x*0.1))*24
|
||||
if bambolla.hab==abad.hab and bambolla.y>25.2 then
|
||||
playsnd(audio_low)
|
||||
end
|
||||
if bambolla.hab==abad.hab then
|
||||
if cacau.hab==bambolla.hab and aabb(bambolla,cacau) then
|
||||
bambolla.update=bambolla.update_splash
|
||||
bambolla.draw=bambolla.draw_splash
|
||||
bambolla.cx=bambolla.x+8
|
||||
bambolla.y=bambolla.y+8
|
||||
bambolla.dx=0
|
||||
bambolla.dy=-4
|
||||
playsnd(audio_hit)
|
||||
end
|
||||
if aabb(bambolla,abad) then
|
||||
abad_hurt(1)
|
||||
bambolla.update=bambolla.update_splash
|
||||
bambolla.draw=bambolla.draw_splash
|
||||
bambolla.cx=bambolla.x+8
|
||||
bambolla.y=bambolla.y+8
|
||||
bambolla.dx=0
|
||||
bambolla.dy=-4
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
bambolla.update=bambolla.update_normal
|
||||
bambolla.draw=bambolla.draw_normal
|
||||
|
||||
function bambolla.draw_splash()
|
||||
circfill(bambolla.cx+bambolla.dx,bambolla.y,2,16)
|
||||
circfill(bambolla.cx+bambolla.dx,bambolla.y,1,6)
|
||||
circfill(bambolla.cx-bambolla.dx,bambolla.y,2,16)
|
||||
circfill(bambolla.cx-bambolla.dx,bambolla.y,1,6)
|
||||
circfill(bambolla.cx-(bambolla.dx/2),bambolla.y-4,2,16)
|
||||
circfill(bambolla.cx-(bambolla.dx/2),bambolla.y-4,1,6)
|
||||
circfill(bambolla.cx+(bambolla.dx/2),bambolla.y-4,2,16)
|
||||
circfill(bambolla.cx+(bambolla.dx/2),bambolla.y-4,1,6)
|
||||
end
|
||||
|
||||
function bambolla.update_splash()
|
||||
bambolla.wait=bambolla.wait+1
|
||||
|
||||
if bambolla.wait==3 then
|
||||
bambolla.wait=0
|
||||
bambolla.dx=bambolla.dx-2
|
||||
bambolla.x=bambolla.cx+bambolla.dx
|
||||
bambolla.y=bambolla.y+bambolla.dy
|
||||
bambolla.dy=bambolla.dy+1
|
||||
if bambolla.y>48 then
|
||||
bambolla.reset()
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user