summaryrefslogtreecommitdiff
path: root/objects/Enemy.lua
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-02-19 10:52:01 +0800
committerEltrac <hi@guhub.cn>2025-02-19 10:52:01 +0800
commit195dc2b37eb3c9dd6686012d405b44384ce6d4cd (patch)
treef8dd770948322d38b765a89e65f5c1ee0803a894 /objects/Enemy.lua
parentb55610b8c50521653795375e84b280654190be6f (diff)
feat: enemies now move towards player
Diffstat (limited to 'objects/Enemy.lua')
-rw-r--r--objects/Enemy.lua19
1 files changed, 17 insertions, 2 deletions
diff --git a/objects/Enemy.lua b/objects/Enemy.lua
index ee6629a..524a1ce 100644
--- a/objects/Enemy.lua
+++ b/objects/Enemy.lua
@@ -6,14 +6,29 @@ function Enemy:new(type, room, x, y)
x = x or math.random(room:getX(), room:getX() + room:getWidth()),
y = y or math.random(room:getY(), room:getY() + room:getHeight()),
r = math.random(10, 20),
- type = type
+ type = type,
+ speed = 20
}
- setmetatable(obj, Door)
+ setmetatable(obj, Enemy)
return obj
end
+function Enemy:moveTowardPlayer(dt)
+ if self.x < G.player.x then
+ self.x = self.x + self.speed*dt
+ elseif self.x > G.player.x then
+ self.x = self.x - self.speed*dt
+ end
+
+ if self.y < G.player.y then
+ self.y = self.y + self.speed*dt
+ elseif self.y > G.player.y then
+ self.y = self.y - self.speed*dt
+ end
+end
+
function Enemy.generate(count, room)
local enemies = {}
for i = 1, count do