Added level completed menu state and removed debug prints
This commit is contained in:
parent
13c2ca1558
commit
0eb2138a75
2 changed files with 43 additions and 27 deletions
21
main.lua
21
main.lua
|
|
@ -27,11 +27,8 @@ function love.update( dt )
|
|||
if InMenu then
|
||||
Menu:update( dt, Point:new( Mouse.x, Mouse.y ), Mouse.pressed )
|
||||
else
|
||||
if Input:actionReleased( 'nextlevel' ) then
|
||||
if GameGrid:isCompleted() then
|
||||
GameGrid = LevelHandler:next()
|
||||
Menu.updateCellSize()
|
||||
end
|
||||
if GameGrid:isCompleted() and not Mouse.pressed then
|
||||
Menu.current_state = MenuStateIndex.completed
|
||||
end
|
||||
end
|
||||
-- Switch menu state or exit
|
||||
|
|
@ -55,19 +52,5 @@ function love.draw()
|
|||
else
|
||||
love.graphics.setLineWidth( Config.cellSize * Config.lineWidth )
|
||||
GameGrid:draw()
|
||||
|
||||
local text = string.format( "%d:%d global\n%d:%d local\n%d:%d from start", Mouse.x, Mouse.y, Mouse.point.x, Mouse.point.y, Mouse.startX - Mouse.x, Mouse.startY - Mouse.y )
|
||||
love.graphics.print( text, 64, 256 )
|
||||
|
||||
if Mouse.dragged then
|
||||
love.graphics.print( "drag", 64, 300 )
|
||||
end
|
||||
if Mouse.lastLine ~= nil then
|
||||
love.graphics.print( tostring( Mouse.lastLine ), 128, 300 )
|
||||
end
|
||||
|
||||
if GameGrid:isCompleted() then
|
||||
love.graphics.print( "Grid completed. Press space to proceed to next", 64, 320 )
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
49
menu.lua
49
menu.lua
|
|
@ -43,12 +43,17 @@ MenuStateIndex = {
|
|||
start = 'start',
|
||||
pause = 'pause',
|
||||
levels = 'levels',
|
||||
hidden = 'hidden'
|
||||
hidden = 'hidden',
|
||||
completed = 'completed'
|
||||
}
|
||||
|
||||
local buttonTopPos = Point:new( 240, 120 )
|
||||
local buttonBotPos = Point:new( 240, 240 )
|
||||
local buttonSize = Point:new( 320, 80 )
|
||||
|
||||
local startButton = Button:new(
|
||||
Point:new( 240, 120 ),
|
||||
Point:new( 320, 80 ),
|
||||
buttonTopPos,
|
||||
buttonSize,
|
||||
'Start',
|
||||
nil,
|
||||
nil,
|
||||
|
|
@ -60,8 +65,8 @@ local startButton = Button:new(
|
|||
)
|
||||
|
||||
local exitToMenuButton = Button:new(
|
||||
Point:new( 240, 200 ),
|
||||
Point:new( 320, 80 ),
|
||||
buttonBotPos,
|
||||
buttonSize,
|
||||
'Return to menu',
|
||||
nil,
|
||||
nil,
|
||||
|
|
@ -71,8 +76,8 @@ local exitToMenuButton = Button:new(
|
|||
)
|
||||
|
||||
local exitGameButton = Button:new(
|
||||
Point:new( 240, 240 ),
|
||||
Point:new( 320, 80 ),
|
||||
buttonBotPos,
|
||||
buttonSize,
|
||||
'Exit',
|
||||
nil,
|
||||
nil,
|
||||
|
|
@ -81,6 +86,30 @@ local exitGameButton = Button:new(
|
|||
end
|
||||
)
|
||||
|
||||
local nextLevelButton = Button:new(
|
||||
buttonTopPos,
|
||||
buttonSize,
|
||||
'Next level',
|
||||
nil,
|
||||
nil,
|
||||
function()
|
||||
GameGrid = LevelHandler:next()
|
||||
Menu.updateCellSize()
|
||||
Menu.current_state = MenuStateIndex.hidden
|
||||
end
|
||||
)
|
||||
|
||||
local backToGameButton = Button:new(
|
||||
buttonTopPos,
|
||||
buttonSize,
|
||||
'Continue',
|
||||
nil,
|
||||
nil,
|
||||
function()
|
||||
Menu.current_state = MenuStateIndex.hidden
|
||||
end
|
||||
)
|
||||
|
||||
-- Menu handler
|
||||
---@class Menu
|
||||
---@field states MenuState[]
|
||||
|
|
@ -93,11 +122,15 @@ Menu = {
|
|||
}),
|
||||
-- Pause menu
|
||||
[MenuStateIndex.pause] = MenuState:new({
|
||||
exitToMenuButton
|
||||
backToGameButton, exitToMenuButton
|
||||
}),
|
||||
-- Level selector
|
||||
[MenuStateIndex.levels] = MenuState:new({
|
||||
}),
|
||||
-- Level completed menu
|
||||
[MenuStateIndex.completed] = MenuState:new({
|
||||
nextLevelButton, exitToMenuButton
|
||||
}),
|
||||
-- Empty state
|
||||
[MenuStateIndex.hidden] = MenuState:new()
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue