[NEW] Transformada la pantalla de game over a estat (canvia dead.lua per game_over.lua)

[FIX] Centrat en la pantalla de les opcions del títol
This commit is contained in:
2026-05-24 13:34:15 +02:00
parent 995e021c10
commit d4b45df65f
5 changed files with 61 additions and 52 deletions
+3 -4
View File
@@ -2,8 +2,6 @@
cw = arcade_config.character_width
ch = arcade_config.character_height
require "dead"
-- abad={ x=40, y=24,
-- flip=false,
-- frame=1,
@@ -159,8 +157,9 @@ function abad_hurt(howmuch)
abad.vides=abad.vides-1
if abad.vides==0 then
--final de la partida
dead.start()
music.play(audio_game_over,0)
states:executar("game over",false)
-- dead.start()
-- music.play(audio_game_over,0)
else
music.play(audio_life_lost,0)
abad.energia=abad.max_energia
-46
View File
@@ -1,46 +0,0 @@
dead={}
function dead.start()
dead.count=0
dead.pos={}
dead.vel={}
for i=1,128 do
dead.pos[i]=0
dead.vel[i]=(200+math.random(0,399))/400
end
game_update=dead.update
end
function dead.update()
dead.count=dead.count+1
for i=1,128 do
if dead.pos[i]<96 then
dead.pos[i]=dead.pos[i]+dead.vel[i]
draw.vline(i-1,0,dead.pos[i],16)
end
end
if dead.count>50 then
if dead.count>130 then
draw.text("GAME OVER",44,40,2)
elseif dead.count>120 then
draw.text("GAME OVE",44,40,2)
elseif dead.count>110 then
draw.text("GAME OV",44,40,2)
elseif dead.count>100 then
draw.text("GAME O",44,40,2)
elseif dead.count>90 then
draw.text("GAME",44,40,2)
elseif dead.count>80 then
draw.text("GAM",44,40,2)
elseif dead.count>70 then
draw.text("GA",44,40,2)
elseif dead.count>60 then
draw.text("G",44,40,2)
end
end
if (dead.count>250 and (key.press(keyShoot) or pad.press(btnShoot))) or dead.count>500 then
game_exit()
game_init(true)
end
end
+55
View File
@@ -0,0 +1,55 @@
dead={}
function game_over_init()
dead.count=0
dead.pos={}
dead.vel={}
for i=1,256 do
dead.pos[i]=0
dead.vel[i]=(200+math.random(0,399))/400
end
-- game_update=dead.update
music.play(audio_game_over,0)
states:next()
end
function game_over_update()
dead.count=dead.count+1
for i=1,256 do
if dead.pos[i]<192 then
dead.pos[i]=dead.pos[i]+dead.vel[i]
draw.vline(i-1,0,dead.pos[i],16)
end
end
if dead.count>50 then
if dead.count>130 then
draw.text("GAME OVER",96,90,2)
elseif dead.count>120 then
draw.text("GAME OVE",96,90,2)
elseif dead.count>110 then
draw.text("GAME OV",96,90,2)
elseif dead.count>100 then
draw.text("GAME O",96,90,2)
elseif dead.count>90 then
draw.text("GAME",96,90,2)
elseif dead.count>90 then
draw.text("GAM",96,90,2)
elseif dead.count>70 then
draw.text("GA",96,90,2)
elseif dead.count>60 then
draw.text("G",96,90,2)
end
end
if (dead.count>250 and (key.press(keyShoot) or pad.press(btnShoot))) or dead.count>500 then
-- game_exit()
-- game_init(true)
states:next()
end
end
function game_over_end()
states:executar("title",false)
end
states:registrar("game over",{game_over_init, game_over_update, game_over_end})
+1
View File
@@ -19,6 +19,7 @@ require "opcions"
require "opcions_input"
require "point"
require "pause"
require "game_over"
require "fps"
--require "menu"
+2 -2
View File
@@ -143,8 +143,8 @@ end
function title_menu_draw()
draw_shiny_rect(56,120+(20*menu_sel)-4,146,18,14,15)
arc_text("JUGAR", 108, 120, 14)
arc_text("OPCIONS", 102, 140, 14)
arc_text("JUGAR", 111, 120, 14)
arc_text("OPCIONS", 104, 140, 14)
end
function title_menu_update()