lines-lua/main.lua

56 lines
1.4 KiB
Lua

require 'grid'
require 'point'
require 'line'
require 'mouse'
require 'levelhandler'
require 'button'
require 'menu'
Input = require 'input'
function love.load()
love.window.setMode( 800, 480 )
InMenu = true
love.graphics.setLineStyle( Config.lineStyle )
end
function love.update( dt )
InMenu = Menu.current_state ~= MenuStateIndex.hidden
Mouse:update()
Input:update()
local exit = Input:actionReleased( 'exit' )
if InMenu then
Menu:update( dt, Point:new( Mouse.x, Mouse.y ), Mouse.pressed )
else
if GameGrid:isCompleted() and not Mouse.pressed then
Menu.current_state = MenuStateIndex.completed
end
end
-- Switch menu state or exit
if exit then
if not InMenu then
Menu.current_state = MenuStateIndex.pause
elseif Menu.current_state == MenuStateIndex.start then
love.event.quit()
elseif Menu.current_state == MenuStateIndex.pause then
Menu.current_state = MenuStateIndex.hidden
elseif Menu.current_state == MenuStateIndex.levels then
Menu.current_state = MenuStateIndex.start
end
end
end
function love.draw()
if InMenu then
love.graphics.setLineWidth( Config.menuLineWidth )
Menu:draw()
else
love.graphics.setLineWidth( Config.cellSize * Config.lineWidth )
GameGrid:draw()
end
end