diff options
| author | Eltrac <hi@guhub.cn> | 2025-02-18 20:56:36 +0800 |
|---|---|---|
| committer | Eltrac <hi@guhub.cn> | 2025-02-18 20:56:36 +0800 |
| commit | b55610b8c50521653795375e84b280654190be6f (patch) | |
| tree | d7fc0c01f03fc55b3207658718bf121145532dad /objects/Enemy.lua | |
| parent | cc557e0d76bf15ed41dbe69bda223f3509ece40a (diff) | |
feat: randomly generate enemies in each room
just temporary
Diffstat (limited to 'objects/Enemy.lua')
| -rw-r--r-- | objects/Enemy.lua | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/objects/Enemy.lua b/objects/Enemy.lua new file mode 100644 index 0000000..ee6629a --- /dev/null +++ b/objects/Enemy.lua @@ -0,0 +1,25 @@ +Enemy = {} +Enemy.__index = Enemy + +function Enemy:new(type, room, x, y) + local obj = { + 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 + } + + setmetatable(obj, Door) + + return obj +end + +function Enemy.generate(count, room) + local enemies = {} + for i = 1, count do + table.insert(enemies, Enemy:new("normal", room)) + end + return enemies +end + +return Enemy |
