1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
local Body = require "objects.Body"
require "data.directions"
local Player = {}
Player.__index = Player
local FrameTimer = require "utils.frameTimer"
function Player.new()
local player = setmetatable({
x = love.graphics.getWidth() / 2,
y = love.graphics.getHeight() / 2,
body = Body:new("circle", config.playerSize, nil, 1/16),
speed = config.defaultPlayerSpeed,
shieldedTill = 0,
hearts = { "redheart", "redheart", "redheart", "shinyheart", "shinyheart", "bigheart" },
facing = Direction.DOWN,
moving = false,
frameTimer = FrameTimer:new(config.frameRate, 2)
}, Player)
return player
end
function Player:isShielded()
return self.shieldedTill >= G.time
end
function Player:isAlive()
return #self.hearts ~= 0
end
return Player
|