Files
cacaus-arcade/data/score.lua
2026-03-29 00:23:18 +01:00

104 lines
4.6 KiB
Lua

score={}
function score.avatar()
local x = 64
local y = 0
local w = 13
local h = 15
draw.rectf( x, y, w, h, 15 ); -- fons negre
draw.surf(211,128,w-2,h-2,x+1,y+1,w-2,h-2,true)
end
function score.border()
draw.surf(32*o2aX,64*o2aX,8*o2aX,8*o2aX,0,0) draw.surf(48*o2aX,72*o2aX,8*o2aX,8*o2aX,8*o2aX,0) draw.surf(48*o2aX,72*o2aX,8*o2aX,8*o2aX,16*o2aX,0) draw.surf(40*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,0)
draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,8*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,8*o2aX) draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,16*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,16*o2aX)
draw.surf(32*o2aX,64*o2aX,8*o2aX,8*o2aX,0,24*o2aX) draw.surf(48*o2aX,72*o2aX,8*o2aX,8*o2aX,8*o2aX,24*o2aX) draw.surf(48*o2aX,72*o2aX,8*o2aX,8*o2aX,16*o2aX,24*o2aX) draw.surf(40*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,24*o2aX)
draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,32*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,32*o2aX)
draw.surf(32*o2aX,64*o2aX,8*o2aX,8*o2aX,0,40*o2aX) draw.surf(48*o2aX,72*o2aX,8*o2aX,8*o2aX,8*o2aX,40*o2aX) draw.surf(48*o2aX,72*o2aX,8*o2aX,8*o2aX,16*o2aX,40*o2aX) draw.surf(40*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,40*o2aX)
draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,48*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,48*o2aX) draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,56*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,56*o2aX)
draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,64*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,64*o2aX) --draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,72*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,72*o2aX)
draw.surf(32*o2aX,64*o2aX,8*o2aX,8*o2aX,0,72*o2aX) draw.surf(48*o2aX,72*o2aX,8*o2aX,8*o2aX,8*o2aX,72*o2aX) draw.surf(48*o2aX,72*o2aX,8*o2aX,8*o2aX,16*o2aX,72*o2aX) draw.surf(40*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,72*o2aX)
draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,80*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,80*o2aX) draw.surf(48*o2aX,64*o2aX,8*o2aX,8*o2aX,0,88*o2aX) draw.surf(56*o2aX,64*o2aX,8*o2aX,8*o2aX,24*o2aX,88*o2aX)
end
function score.jailgames()
arc_text("jail",6*o2aX,77*o2aX,2)
arc_text("games",8*o2aX, 82*o2aX,2)
arc_text("2026",9*o2aX,89*o2aX,1)
end
function score.life_meter()
local x = 0
local y = 2
local w = 6
local h = 7
-- borde blau
draw.hline(1+x, y, 8*w+4-2, 15)
draw.hline(1+x, y+h+3, 8*w+4-2, 15)
draw.vline(0+x, y+1, y+h+2, 15)
draw.vline(8*w+4-1, y+1, y+h+2, 15)
draw.rectf( 1+x, 1+y, 8*w+2, h+2, 16 ); -- fons negre
if abad.energia>abad.max_energia/2 then
-- 50%
color = 10; -- verd
elseif abad.energia>abad.max_energia/3 then
-- 33%
color = 8; -- groc
else
color = 3; -- roig
end
local full_width = 48
local curr_width = math.floor(full_width*(abad.energia/abad.max_energia))
local life_segment = math.floor(full_width/6)
draw.rectf( 2+0+x+0*w, 2+y, full_width, h, 16 );
draw.rectf( 2+0+x+0*w, 2+y, curr_width, h, color );
draw.vline( 2+0+x+0*w+life_segment*1, y+2, y+h+1, 16)
draw.vline( 2+0+x+0*w+life_segment*2, y+2, y+h+1, 16)
draw.vline( 2+0+x+0*w+life_segment*3, y+2, y+h+1, 16)
draw.vline( 2+0+x+0*w+life_segment*4, y+2, y+h+1, 16)
draw.vline( 2+0+x+0*w+life_segment*5, y+2, y+h+1, 16)
end
function score.create()
score.surf=surf.new(arcade_config.resolucion.width,arcade_config.resolucion.height)
surf.target(score.surf)
surf.cls(0)
score.avatar()
-- score.border()
-- score.jailgames()
score.life_meter()
surf.target(0)
end
function score.draw()
local x = 225
local y = 12
surf.target(score.surf)
surf.cls(0)
score.avatar()
score.life_meter()
surf.target(0)
surf.source(score.surf)
draw.surf(0,0,arcade_config.resolucion.width,arcade_config.resolucion.height,170,10)
surf.source(tiles)
if abad.objects.gorro~=nil then draw.surf(96*o2aX,32*o2aX,16*o2aX,16*o2aX,99*o2aX,44*o2aX) end
if abad.objects.peu~=nil then draw.surf(112*o2aX,32*o2aX,16*o2aX,16*o2aX,109*o2aX,44*o2aX) end
if abad.objects.gps~=nil then draw.surf(112*o2aX,48*o2aX,16*o2aX,16*o2aX,100*o2aX,55*o2aX) end
if abad.objects.clau_premiere~=nil then draw.surf(112*o2aX,8*o2aX,8*o2aX,8*o2aX,104*o2aX,48*o2aX) end
if abad.objects.clau_elalien~=nil then draw.surf(120*o2aX,8*o2aX,8*o2aX,8*o2aX,112*o2aX,48*o2aX) end
if abad.objects.bol~=nil then draw.surf(112*o2aX,88*o2aX,16*o2aX,8*o2aX,104*o2aX,46*o2aX) end
arc_text(abad.vides,x,y,2)
-- draw.rectf((102+(abad.energia>>1))*o2aX,30*o2aX,(21-(abad.energia>>1))*o2aX,8*o2aX,2)
end