-- Game loop while true do -- Update enemies for _, enemy in ipairs(enemies) do enemy:update(dt) end
-- Enemy class function Enemy:new(x, y) local instance = setmetatable({}, Enemy) instance.x = x instance.y = y instance.health = 100 instance.speed = 5 return instance end tower battles script extra quality
-- Define tower and enemy classes local Tower = {} local Enemy = {} -- Game loop while true do -- Update
function Tower:shootEnemy(enemy) -- Calculate distance to enemy local distance = math.sqrt((self.x - enemy.x) ^ 2 + (self.y - enemy.y) ^ 2) y) local instance = setmetatable({}
-- Shoot closest enemy if closestEnemy then tower:shootEnemy(closestEnemy) end end
for _, enemy in ipairs(enemies) do local distance = math.sqrt((tower.x - enemy.x) ^ 2 + (tower.y - enemy.y) ^ 2)