From 419f858b1bd85ce804a7939ec0ecae78504bfcc2 Mon Sep 17 00:00:00 2001 From: Donald Ball Date: Thu, 13 Nov 2025 16:35:51 -0500 Subject: [PATCH] expiring bullets --- main.lua | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/main.lua b/main.lua index 05f112c..5e3cc84 100644 --- a/main.lua +++ b/main.lua @@ -32,10 +32,16 @@ function love.update(dt) shipX = (shipX + shipSpeedX * dt) % arenaWidth shipY = (shipY + shipSpeedY * dt) % arenaHeight - for bulletIndex, bullet in ipairs(bullets) do - local bulletSpeed = 500 - bullet.x = (bullet.x + math.cos(bullet.angle) * bulletSpeed * dt) % arenaWidth - bullet.y = (bullet.y + math.sin(bullet.angle) * bulletSpeed * dt) % arenaHeight + for bulletIndex = #bullets, 1, -1 do + local bullet = bullets[bulletIndex] + bullet.timeLeft = bullet.timeLeft - dt + if bullet.timeLeft <= 0 then + table.remove(bullets, bulletIndex) + else + local bulletSpeed = 500 + bullet.x = (bullet.x + math.cos(bullet.angle) * bulletSpeed * dt) % arenaWidth + bullet.y = (bullet.y + math.sin(bullet.angle) * bulletSpeed * dt) % arenaHeight + end end end @@ -45,6 +51,7 @@ function love.keypressed(key) x = shipX + math.cos(shipAngle) * shipRadius, y = shipY + math.sin(shipAngle) * shipRadius, angle = shipAngle, + timeLeft = 4, }) end end