Despres del respawn ja s mou be. Ja no mor des de massa baix

This commit is contained in:
2026-03-27 17:29:08 +01:00
parent 2dbf0bb8b7
commit 1a4716089b
2 changed files with 42 additions and 12 deletions

View File

@@ -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()

View File

@@ -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)