diff options
| author | Eltrac <hi@guhub.cn> | 2025-02-19 10:52:01 +0800 |
|---|---|---|
| committer | Eltrac <hi@guhub.cn> | 2025-02-19 10:52:01 +0800 |
| commit | 195dc2b37eb3c9dd6686012d405b44384ce6d4cd (patch) | |
| tree | f8dd770948322d38b765a89e65f5c1ee0803a894 /objects/Enemy.lua | |
| parent | b55610b8c50521653795375e84b280654190be6f (diff) | |
feat: enemies now move towards player
Diffstat (limited to 'objects/Enemy.lua')
| -rw-r--r-- | objects/Enemy.lua | 19 |
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 |
