4
0

credits menu

This commit is contained in:
Zsolt Tasnadi
2025-12-04 16:41:45 +01:00
parent 4cb6ace557
commit a934e4fa6f

View File

@@ -53,6 +53,7 @@ local COLOR_YELLOW = 4
local COLOR_GREEN = 6 local COLOR_GREEN = 6
local COLOR_GREEN_LIGHT = 11 local COLOR_GREEN_LIGHT = 11
local COLOR_BLUE = 12 local COLOR_BLUE = 12
local COLOR_GRAY_LIGHT = 13
local COLOR_WHITE = 15 local COLOR_WHITE = 15
-- Game states -- Game states
@@ -60,6 +61,7 @@ local GAME_STATE_SPLASH = 0
local GAME_STATE_MENU = 1 local GAME_STATE_MENU = 1
local GAME_STATE_PLAYING = 2 local GAME_STATE_PLAYING = 2
local GAME_STATE_HELP = 3 local GAME_STATE_HELP = 3
local GAME_STATE_CREDITS = 4
-- Powerup spawn chance -- Powerup spawn chance
local POWERUP_SPAWN_CHANCE = 0.3 local POWERUP_SPAWN_CHANCE = 0.3
@@ -76,6 +78,7 @@ local TopBar = {}
local Splash = {} local Splash = {}
local Menu = {} local Menu = {}
local Help = {} local Help = {}
local Credits = {}
local WinScreen = {} local WinScreen = {}
local GameBoard = {} local GameBoard = {}
local Bomb = {} local Bomb = {}
@@ -423,25 +426,28 @@ function Menu.update()
UI.print_shadow("Bomberman", 85, 20, COLOR_BLUE, false, 2) UI.print_shadow("Bomberman", 85, 20, COLOR_BLUE, false, 2)
UI.print_shadow("Clone", 100, 40, COLOR_BLUE, false, 2) UI.print_shadow("Clone", 100, 40, COLOR_BLUE, false, 2)
local p1_color = (State.menu_selection == 1) and COLOR_GREEN_LIGHT or COLOR_WHITE local unselected = COLOR_GRAY_LIGHT
local p2_color = (State.menu_selection == 2) and COLOR_GREEN_LIGHT or COLOR_WHITE local p1_color = (State.menu_selection == 1) and COLOR_GREEN_LIGHT or unselected
local help_color = (State.menu_selection == 3) and COLOR_GREEN_LIGHT or COLOR_WHITE local p2_color = (State.menu_selection == 2) and COLOR_GREEN_LIGHT or unselected
local exit_color = (State.menu_selection == 4) and COLOR_GREEN_LIGHT or COLOR_WHITE local help_color = (State.menu_selection == 3) and COLOR_GREEN_LIGHT or unselected
local credits_color = (State.menu_selection == 4) and COLOR_GREEN_LIGHT or unselected
local exit_color = (State.menu_selection == 5) and COLOR_GREEN_LIGHT or unselected
local cursor_y = 65 + (State.menu_selection - 1) * 16 local cursor_y = 60 + (State.menu_selection - 1) * 14
UI.print_shadow(">", 60, cursor_y, COLOR_GREEN_LIGHT) UI.print_shadow(">", 60, cursor_y, COLOR_GREEN_LIGHT)
UI.print_shadow("1 Player Game", 70, 65, p1_color) UI.print_shadow("1 Player Game", 70, 60, p1_color)
UI.print_shadow("2 Player Game", 70, 81, p2_color) UI.print_shadow("2 Player Game", 70, 74, p2_color)
UI.print_shadow("Help", 70, 97, help_color) UI.print_shadow("Help", 70, 88, help_color)
UI.print_shadow("Exit", 70, 113, exit_color) UI.print_shadow("Credits", 70, 102, credits_color)
UI.print_shadow("Exit", 70, 116, exit_color)
if Input.up_pressed() then if Input.up_pressed() then
State.menu_selection = State.menu_selection - 1 State.menu_selection = State.menu_selection - 1
if State.menu_selection < 1 then State.menu_selection = 4 end if State.menu_selection < 1 then State.menu_selection = 5 end
elseif Input.down_pressed() then elseif Input.down_pressed() then
State.menu_selection = State.menu_selection + 1 State.menu_selection = State.menu_selection + 1
if State.menu_selection > 4 then State.menu_selection = 1 end if State.menu_selection > 5 then State.menu_selection = 1 end
elseif Input.action_pressed() then elseif Input.action_pressed() then
if State.menu_selection == 1 then if State.menu_selection == 1 then
State.two_player_mode = false State.two_player_mode = false
@@ -453,6 +459,8 @@ function Menu.update()
Game.init() Game.init()
elseif State.menu_selection == 3 then elseif State.menu_selection == 3 then
State.game_state = GAME_STATE_HELP State.game_state = GAME_STATE_HELP
elseif State.menu_selection == 4 then
State.game_state = GAME_STATE_CREDITS
else else
exit() exit()
end end
@@ -508,6 +516,27 @@ function Help.update()
end end
end end
--------------------------------------------------------------------------------
-- Credits module
--------------------------------------------------------------------------------
function Credits.update()
cls(COLOR_BLACK)
UI.print_shadow("Credits", 90, 20, COLOR_BLUE, false, 2)
UI.print_shadow("Author: Zsolt Tasnadi", 60, 50, 12)
UI.print_shadow("Powered by Claude", 68, 66, 12)
UI.print_shadow("Sponsored by Zen Heads", 52, 82, 12)
UI.print_shadow("Happy X-MAS!", 80, 98, COLOR_RED)
UI.print_shadow("Press SPACE to return", 60, 122, COLOR_GREEN_LIGHT)
if Input.action_pressed() then
State.game_state = GAME_STATE_MENU
end
end
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
-- WinScreen module -- WinScreen module
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@@ -1229,6 +1258,9 @@ function TIC()
elseif State.game_state == GAME_STATE_HELP then elseif State.game_state == GAME_STATE_HELP then
Help.update() Help.update()
return return
elseif State.game_state == GAME_STATE_CREDITS then
Credits.update()
return
end end
-- GAME_STATE_PLAYING -- GAME_STATE_PLAYING