Make all enemies active

This commit is contained in:
Juhani Krekelä 2023-06-03 21:43:56 +03:00
parent 2a3d7b188f
commit 9ec3b93cc2
1 changed files with 24 additions and 20 deletions

View File

@ -21,7 +21,7 @@ local explosion_duration = 0.4
local enemies = {} local enemies = {}
local enemy_radius = 0.025 local enemy_radius = 0.025
local enemy_min_shoot = 5 local enemy_min_shoot = 5
local enemy_max_shoot = 10 local enemy_max_shoot = 20
local window_width = nil local window_width = nil
local window_height = nil local window_height = nil
@ -62,16 +62,23 @@ function love.load()
setScreenDimensions(width, height) setScreenDimensions(width, height)
movePaddle(0) movePaddle(0)
spawnCities() spawnCities()
spawnEnemy(0.1, 0.1, false) spawnEnemy(0.1, 0.1)
spawnEnemy(0.2, 0.1, true) spawnEnemy(0.2, 0.1)
spawnEnemy(0.3, 0.1, false) spawnEnemy(0.3, 0.1)
spawnEnemy(0.4, 0.1, true) spawnEnemy(0.4, 0.1)
spawnEnemy(0.5, 0.1, false) spawnEnemy(0.5, 0.1)
spawnEnemy(0.6, 0.1, true) spawnEnemy(0.6, 0.1)
spawnEnemy(0.7, 0.1, false) spawnEnemy(0.7, 0.1)
spawnEnemy(0.8, 0.1, true) spawnEnemy(0.8, 0.1)
spawnEnemy(0.9, 0.1, false) spawnEnemy(0.9, 0.1)
spawnEnemy(0.1, 0.3, true) spawnEnemy(0.15, 0.2)
spawnEnemy(0.25, 0.2)
spawnEnemy(0.35, 0.2)
spawnEnemy(0.45, 0.2)
spawnEnemy(0.55, 0.2)
spawnEnemy(0.65, 0.2)
spawnEnemy(0.75, 0.2)
spawnEnemy(0.85, 0.2)
end end
function spawnCities() function spawnCities()
@ -118,11 +125,10 @@ function spawnExplosion(x, y)
}) })
end end
function spawnEnemy(x, y, active) function spawnEnemy(x, y)
table.insert(enemies, { table.insert(enemies, {
x = x, x = x,
y = y, y = y,
active = active,
until_shoot = math.random() * (enemy_max_shoot - enemy_min_shoot), until_shoot = math.random() * (enemy_max_shoot - enemy_min_shoot),
alive = true alive = true
}) })
@ -271,13 +277,11 @@ function updateEnemies(dt)
while i <= #enemies do while i <= #enemies do
local enemy = enemies[i] local enemy = enemies[i]
if enemy.active then enemy.until_shoot = enemy.until_shoot - dt
enemy.until_shoot = enemy.until_shoot - dt if enemy.until_shoot < 0 then
if enemy.until_shoot < 0 then enemy.until_shoot = enemy_min_shoot + math.random() * (enemy_max_shoot - enemy_min_shoot)
enemy.until_shoot = enemy_min_shoot + math.random() * (enemy_max_shoot - enemy_min_shoot) local target = cities[math.random(1, #cities)]
local target = cities[math.random(1, #cities)] spawnMissile(enemy.x, enemy.y, target.x, target.y, 0.2)
spawnMissile(enemy.x, enemy.y, target.x, target.y, 0.2)
end
end end
if not enemy.alive then if not enemy.alive then