function love.load()
birdY = 200
birdYSpeed = 0
birdX = 62
birdWidth = 30
birdHeight = 25
playingAreaWidth = 300
playingAreaHeight = 388
pipeSpaceHeight = 100
pipeWidth = 54
function newPipeSpaceY()
local pipeSpaceYMin = 54
local pipeSpaceY = love.math.random(
pipeSpaceYMin,
playingAreaHeight - pipeSpaceHeight - pipeSpaceYMin
)
return pipeSpaceY
end
pipe1X = 100
pipe1SpaceY = newPipeSpaceY()
pipe2X = 200
pipe2SpaceY = newPipeSpaceY()
end
function love.update(dt)
birdYSpeed = birdYSpeed + (516 * dt)
birdY = birdY + (birdYSpeed * dt)
pipeX = pipeX - (60 * dt)
if (pipeX + pipeWidth) < 0 then
resetPipe()
end
if
-- Left edge of bird is to the left of the right edge of pipe
birdX < (pipeX + pipeWidth)
and
-- Right edge of bird is to the right of the left edge of pipe
(birdX + birdWidth) > pipeX
and (
-- Top edge of bird is above the bottom edge of first pipe segment
birdY < pipeSpaceY
or
-- Bottom edge of bird is below the top edge of second pipe segment
(birdY + birdHeight) > (pipeSpaceY + pipeSpaceHeight)
) then
love.load()
end
--]]
end
function love.keypressed(key)
if birdY > 0 then
birdYSpeed = -165
end
pipe1SpaceY = newPipeSpaceY()
pipe2SpaceY = newPipeSpaceY()
end
function love.draw()
love.graphics.setColor(.14, .36, .46)
love.graphics.rectangle('fill', 0, 0, playingAreaWidth, playingAreaHeight)
love.graphics.setColor(.87, .84, .27)
love.graphics.rectangle('fill', birdX, birdY, birdWidth, birdHeight)
local function drawPipe(pipeX, pipeSpaceY)
love.graphics.setColor(.37, .82, .28)
love.graphics.rectangle(
'fill',
pipeX,
0,
pipeWidth,
pipeSpaceY
)
love.graphics.rectangle(
'fill',
pipeX,
pipeSpaceY + pipeSpaceHeight,
pipeWidth,
playingAreaHeight - pipeSpaceY - pipeSpaceHeight
)
end
drawPipe(pipe1X, pipe1SpaceY)
drawPipe(pipe2X, pipe2SpaceY)
end