Love:Mike: Added title screen/gamestates

This commit is contained in:
Logen Kain 2017-08-10 14:59:43 -07:00
parent 23bbad4f2b
commit c39c652d3b
2 changed files with 50 additions and 21 deletions

View File

@ -0,0 +1,42 @@
Gamestates = {}
-- Title screen
function Gamestates.title_draw()
love.graphics.setColor(255,0,0)
love.graphics.print(string.format("Press space to start!"), screen.width/2, screen.height/2)
end
function Gamestates.title_update()
if love.keyboard.isDown(" ") then
gamestate.draw = Gamestates.main_draw
gamestate.update = Gamestates.main_update
end
end
-- Main game loop
function Gamestates.main_draw()
-- Draw paddle
love.graphics.setColor(255,255,255)
love.graphics.rectangle("line", actors.player.x, actors.player.y,
actors.player.width, actors.player.height)
-- Draw ball
love.graphics.setColor(255,0,0)
love.graphics.circle("line", actors.ball.x, actors.ball.y,
actors.ball.width, actors.ball.height)
-- FPS counter
love.graphics.setColor(128,72,25)
love.graphics.print("FPS: "..tostring(love.timer.getFPS( )), 10, 10)
-- Ball Score
love.graphics.setColor(255,0,0)
love.graphics.print("Score: "..actors.ball.score, screen.width -80, 10)
-- Timer
love.graphics.setColor(125,42,19)
love.graphics.print(string.format("Time M: %.2f", actors.end_timer/60), screen.width -85, 50)
love.graphics.print(string.format("Time S: %.2f", actors.end_timer), screen.width -85, 30)
end
function Gamestates.main_update(dt)
actors.player = check_keys(actors.player, screen, dt)
actors.ball = ball_bounce(actors.player, actors.ball, dt)
actors.end_timer = love.timer.getTime() - actors.start
end

View File

@ -1,5 +1,6 @@
require "lib/keys" require "lib/keys"
require "lib/functions" require "lib/functions"
require "levels/gamestates"
function love.load() function love.load()
-- Create a table and grab the screen width/height -- Create a table and grab the screen width/height
@ -21,31 +22,17 @@ function love.load()
-- Timer vars (see keys.lua for loaded timer vars) -- Timer vars (see keys.lua for loaded timer vars)
actors.start = love.timer.getTime() actors.start = love.timer.getTime()
actors.end_timer = 0 actors.end_timer = 0
-- Set the starting screen
gamestate = {}
gamestate.draw = Gamestates.title_draw
gamestate.update = Gamestates.title_update
end end
function love.update(dt) function love.update(dt)
actors.player = check_keys(actors.player, screen, dt) gamestate.update(dt)
actors.ball = ball_bounce(actors.player, actors.ball, dt)
actors.end_timer = love.timer.getTime() - actors.start
end end
function love.draw() function love.draw()
-- Draw paddle gamestate.draw()
love.graphics.setColor(255,255,255)
love.graphics.rectangle("line", actors.player.x, actors.player.y,
actors.player.width, actors.player.height)
-- Draw ball
love.graphics.setColor(255,0,0)
love.graphics.circle("line", actors.ball.x, actors.ball.y,
actors.ball.width, actors.ball.height)
-- FPS counter
love.graphics.setColor(128,72,25)
love.graphics.print("FPS: "..tostring(love.timer.getFPS( )), 10, 10)
-- Ball Score
love.graphics.setColor(255,0,0)
love.graphics.print("Score: "..actors.ball.score, screen.width -80, 10)
-- Timer
love.graphics.setColor(125,42,19)
love.graphics.print(string.format("Time M: %.2f", actors.end_timer/60), screen.width -85, 50)
love.graphics.print(string.format("Time S: %.2f", actors.end_timer), screen.width -85, 30)
end end