Despres del respawn ja s mou be. Ja no mor des de massa baix
This commit is contained in:
@@ -29,6 +29,25 @@ abad={}
|
|||||||
function abad_nop()
|
function abad_nop()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Imprime cualquier valor, incluyendo tablas anidadas
|
||||||
|
local function dump(value, indent)
|
||||||
|
indent = indent or ""
|
||||||
|
if type(value) ~= "table" then
|
||||||
|
return tostring(value)
|
||||||
|
end
|
||||||
|
|
||||||
|
local parts = {"{"}
|
||||||
|
for k, v in pairs(value) do
|
||||||
|
local key = (type(k) == "string") and k or "["..tostring(k).."]"
|
||||||
|
table.insert(parts,
|
||||||
|
string.format("%s %s = %s,",
|
||||||
|
indent, key, dump(v, indent.." ")))
|
||||||
|
end
|
||||||
|
table.insert(parts, indent.."}")
|
||||||
|
return table.concat(parts, "\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function abad_init()
|
function abad_init()
|
||||||
abad={ x=40, y=24,
|
abad={ x=40, y=24,
|
||||||
flip=false,
|
flip=false,
|
||||||
@@ -90,11 +109,14 @@ function abad:draw()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function abad_make_safe()
|
function abad_make_safe( force )
|
||||||
if abad.safe.hab~=abad.hab then
|
force = force or false
|
||||||
abad.safe.hab=abad.hab
|
local hab, xx, yy = arc_mapa_get_map_coords(abad.x, abad.y)
|
||||||
abad.safe.x=abad.x
|
if abad.safe.hab~=hab or force then
|
||||||
abad.safe.y=abad.y
|
abad.safe.hab=hab
|
||||||
|
abad.safe.x=xx
|
||||||
|
abad.safe.y=yy
|
||||||
|
print("Make safe "..hab.." ( "..xx..", "..yy.." )")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -113,13 +135,17 @@ function abad_hurt(howmuch)
|
|||||||
else
|
else
|
||||||
music.play(audio_life_lost,0)
|
music.play(audio_life_lost,0)
|
||||||
abad.energia=40
|
abad.energia=40
|
||||||
abad.hab=abad.safe.hab
|
-- abad.hab=abad.safe.hab
|
||||||
abad.x=abad.safe.x
|
-- abad.x=abad.safe.x
|
||||||
abad.y=abad.safe.y
|
-- abad.y=abad.safe.y
|
||||||
|
print("SAFE= "..abad.safe.hab.." "..abad.safe.x.." "..abad.safe.y)
|
||||||
|
print(dump(abad))
|
||||||
|
local abad_x, abad_y = arc_mapa_get_coords ( abad.safe.hab, abad.safe.x, abad.safe.y )
|
||||||
|
abad:move(abad_x, abad_y)
|
||||||
abad.hurting=60
|
abad.hurting=60
|
||||||
abad.update=abad_state_normal
|
abad.update=abad_state_normal
|
||||||
abad.bb.y=0
|
abad.bb.y=0
|
||||||
abad.bb.h=16
|
abad.bb.h=32
|
||||||
abad.respawning=240
|
abad.respawning=240
|
||||||
surf.cls(3)
|
surf.cls(3)
|
||||||
end
|
end
|
||||||
@@ -273,7 +299,7 @@ function abad_state_normal()
|
|||||||
abad.frame=0
|
abad.frame=0
|
||||||
abad.wait=0
|
abad.wait=0
|
||||||
abad.step=0
|
abad.step=0
|
||||||
abad.shoot_cooldown = abad.shoot_cooldown + 1
|
if abad.shoot_cooldown<abad.max_shoot_cooldown then abad.shoot_cooldown = abad.shoot_cooldown + 1 end
|
||||||
abad.jumpfwd=false
|
abad.jumpfwd=false
|
||||||
abad.jump_height = 0
|
abad.jump_height = 0
|
||||||
if abad.hurting > 0 then
|
if abad.hurting > 0 then
|
||||||
@@ -283,7 +309,7 @@ function abad_state_normal()
|
|||||||
|
|
||||||
if abad.falling>0 then
|
if abad.falling>0 then
|
||||||
if abad.falling>(abad.max_jump_height<<1) then
|
if abad.falling>(abad.max_jump_height<<1) then
|
||||||
abad_hurt(abad.falling-(abad.max_jump_height>>1))
|
abad_hurt(abad.falling-(abad.max_jump_height<<1))
|
||||||
end
|
end
|
||||||
abad.falling=0
|
abad.falling=0
|
||||||
end
|
end
|
||||||
@@ -319,6 +345,7 @@ function key_release(keyid)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function abad_state_crouch()
|
function abad_state_crouch()
|
||||||
|
print(dump(abad))
|
||||||
abad.bb.y=8
|
abad.bb.y=8
|
||||||
abad.bb.h=24
|
abad.bb.h=24
|
||||||
abad.frame=5
|
abad.frame=5
|
||||||
@@ -326,12 +353,14 @@ function abad_state_crouch()
|
|||||||
abad.step=0
|
abad.step=0
|
||||||
abad.jumpfwd=false
|
abad.jumpfwd=false
|
||||||
abad.jump_height=0
|
abad.jump_height=0
|
||||||
|
print(dump(abad))
|
||||||
if not (key.down(keyDown) or pad.down(btnDown)) then
|
if not (key.down(keyDown) or pad.down(btnDown)) then
|
||||||
abad.update=abad_state_normal
|
abad.update=abad_state_normal
|
||||||
abad.bb.y=0
|
abad.bb.y=0
|
||||||
abad.bb.h=32
|
abad.bb.h=32
|
||||||
|
print(dump(abad))
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function abad_state_fire()
|
function abad_state_fire()
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ function game_init(menu)
|
|||||||
|
|
||||||
local abad_x, abad_y = arc_mapa_get_coords ( 10, 4, 3 )
|
local abad_x, abad_y = arc_mapa_get_coords ( 10, 4, 3 )
|
||||||
abad:move(abad_x, abad_y)
|
abad:move(abad_x, abad_y)
|
||||||
|
abad_make_safe( true )
|
||||||
|
|
||||||
local scr_ax, scr_ay = viewp:screen_coords(abad_x, abad_y)
|
local scr_ax, scr_ay = viewp:screen_coords(abad_x, abad_y)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user