fortunes_foundation/state_gameround.lua
2024-02-10 22:01:05 -08:00

42 lines
1.0 KiB
Lua

state_gameround=klass()
function state_gameround:init(watcher,ruleset)
self.board=board:new(watcher,ruleset)
self.outcome=nil
self.restart_frames=0
end
function state_gameround:enter() end
function state_gameround:exit() end
function state_gameround:reenter() end
function state_gameround:suspend() end
function state_gameround:update()
self.board:update()
if btn(5) then
self.restart_frames+=1
else
self.restart_frames=0
end
local restart_progress=self.restart_frames/60
self.board:set_restart_progress(restart_progress)
if restart_progress>=1.0 then
main.state_manager:push(state_restartmenu:new())
return
end
if self.board:can_take_input() then
if (btnp(0)) self.board.cursor:move_x(-1)
if (btnp(1)) self.board.cursor:move_x(1)
if (btnp(2)) self.board.cursor:move_y(-1)
if (btnp(3)) self.board.cursor:move_y(1)
if (btnp(4)) self.board.cursor:toggle_grab()
if (btnp(5)) self.board:undo()
end
if (self.board:is_won()) self.outcome="win" self.done=true
end
function state_gameround:draw()
cls(13)
self.board:draw()
end