summaryrefslogtreecommitdiff
path: root/objects/Enemy.lua
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-02-18 20:56:36 +0800
committerEltrac <hi@guhub.cn>2025-02-18 20:56:36 +0800
commitb55610b8c50521653795375e84b280654190be6f (patch)
treed7fc0c01f03fc55b3207658718bf121145532dad /objects/Enemy.lua
parentcc557e0d76bf15ed41dbe69bda223f3509ece40a (diff)
feat: randomly generate enemies in each room
just temporary
Diffstat (limited to 'objects/Enemy.lua')
-rw-r--r--objects/Enemy.lua25
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