60 lines
No EOL
1.1 KiB
Lua
60 lines
No EOL
1.1 KiB
Lua
require 'const'
|
|
|
|
local self = {}
|
|
|
|
function self.fish(x, y)
|
|
local fish = {
|
|
x = x,
|
|
y = y,
|
|
size = 0, -- 0 for small, 1 for medium, 2 for big, 3 for king
|
|
eattimer = 0 + math.random() * 2, -- starts out hungry, with a 2s delay
|
|
|
|
lifetime = 0,
|
|
|
|
eases = {
|
|
|
|
},
|
|
render = {
|
|
x = 0,
|
|
y = 0,
|
|
prevx = 0,
|
|
prevy = 0,
|
|
turn = 0,
|
|
swim = 0,
|
|
angle = 0,
|
|
xspeed = 0,
|
|
yspeed = 0,
|
|
eattimer = 1,
|
|
hungry = 0,
|
|
}
|
|
}
|
|
|
|
for i = 1, FISH_SPLINE_QUALITY do
|
|
table.insert(fish.eases, { -- we insert a fake ease that ends instantly and just hope the update loop replaces it with a valid, random one
|
|
x = x,
|
|
y = y,
|
|
fromx = x,
|
|
fromy = y,
|
|
a = 1,
|
|
speed = 1
|
|
})
|
|
end
|
|
|
|
return fish
|
|
end
|
|
|
|
function self.food(x, y, type)
|
|
local food = {
|
|
x = x,
|
|
y = y,
|
|
speed = 0.2,
|
|
time = math.random(),
|
|
deathtimer = 0,
|
|
type = 1,
|
|
goal = 0 -- assigns 0 as the fish so that hopefully the update loop replaces it with a valid, random one
|
|
}
|
|
|
|
return food
|
|
end
|
|
|
|
return self |