Compare commits
No commits in common. "0352a9e14f599b2d2d64c10ee421b27534a88c98" and "643663a415a9ebe8025224f9589526203c666d96" have entirely different histories.
0352a9e14f
...
643663a415
1 changed files with 15 additions and 36 deletions
|
@ -5,7 +5,7 @@ local paddle_height = 0.02
|
||||||
|
|
||||||
local wall_thickness = 0.01
|
local wall_thickness = 0.01
|
||||||
|
|
||||||
local missiles = nil
|
local missiles = {}
|
||||||
local missile_radius = 0.005
|
local missile_radius = 0.005
|
||||||
local missile_trail_fade = 0.4
|
local missile_trail_fade = 0.4
|
||||||
local missile_trail_min_visibility = 0.03
|
local missile_trail_min_visibility = 0.03
|
||||||
|
@ -13,22 +13,20 @@ local missile_trail_length = math.log(missile_trail_min_visibility, missile_trai
|
||||||
local missile_speed_min = 0.15
|
local missile_speed_min = 0.15
|
||||||
local missile_speed_max = 0.25
|
local missile_speed_max = 0.25
|
||||||
|
|
||||||
local unreflected_missiles = nil
|
local unreflected_missiles = 0
|
||||||
local unreflected_missiles_allowed = nil
|
local unreflected_missiles_max = 5
|
||||||
local unreflected_missiles_allowed_ramp_up = 10
|
|
||||||
local unreflected_missiles_max = 7
|
|
||||||
|
|
||||||
local cities = nil
|
local cities = {}
|
||||||
local city_radius = 0.05
|
local city_radius = 0.05
|
||||||
|
|
||||||
local explosions = nil
|
local explosions = {}
|
||||||
local explosion_radius = 0.08
|
local explosion_radius = 0.08
|
||||||
local explosion_duration = 0.4
|
local explosion_duration = 0.4
|
||||||
|
|
||||||
local enemies = nil
|
local enemies = {}
|
||||||
local enemy_radius = 0.025
|
local enemy_radius = 0.025
|
||||||
local enemy_min_shoot = 2
|
local enemy_min_shoot = 2
|
||||||
local enemy_max_shoot = 10
|
local enemy_max_shoot = 20
|
||||||
local enemy_inaccuracy = 0.05
|
local enemy_inaccuracy = 0.05
|
||||||
|
|
||||||
local window_width = nil
|
local window_width = nil
|
||||||
|
@ -37,8 +35,6 @@ local viewport_x_offset = nil
|
||||||
local viewport_y_offset = nil
|
local viewport_y_offset = nil
|
||||||
local scale = nil
|
local scale = nil
|
||||||
|
|
||||||
local time = nil
|
|
||||||
|
|
||||||
function setScreenDimensions(width, height)
|
function setScreenDimensions(width, height)
|
||||||
window_width = width
|
window_width = width
|
||||||
window_height = height
|
window_height = height
|
||||||
|
@ -66,15 +62,12 @@ function fromScreenCoordinate(x, y)
|
||||||
return logical_x, logical_y
|
return logical_x, logical_y
|
||||||
end
|
end
|
||||||
|
|
||||||
function initialize()
|
function love.load()
|
||||||
missiles = {}
|
math.randomseed(os.time())
|
||||||
unreflected_missiles = 0
|
love.mouse.setVisible(false)
|
||||||
unreflected_missiles_allowed = 0
|
local width, height = love.graphics.getDimensions()
|
||||||
cities = {}
|
setScreenDimensions(width, height)
|
||||||
explosions = {}
|
movePaddle(0)
|
||||||
enemies = {}
|
|
||||||
time = 0
|
|
||||||
|
|
||||||
spawnCities()
|
spawnCities()
|
||||||
spawnEnemy(0.1, 0.1)
|
spawnEnemy(0.1, 0.1)
|
||||||
spawnEnemy(0.2, 0.1)
|
spawnEnemy(0.2, 0.1)
|
||||||
|
@ -95,15 +88,6 @@ function initialize()
|
||||||
spawnEnemy(0.85, 0.2)
|
spawnEnemy(0.85, 0.2)
|
||||||
end
|
end
|
||||||
|
|
||||||
function love.load()
|
|
||||||
math.randomseed(os.time())
|
|
||||||
love.mouse.setVisible(false)
|
|
||||||
local width, height = love.graphics.getDimensions()
|
|
||||||
setScreenDimensions(width, height)
|
|
||||||
movePaddle(0)
|
|
||||||
initialize()
|
|
||||||
end
|
|
||||||
|
|
||||||
function spawnCities()
|
function spawnCities()
|
||||||
local number_of_cities = 7
|
local number_of_cities = 7
|
||||||
cities = {}
|
cities = {}
|
||||||
|
@ -153,7 +137,7 @@ function spawnEnemy(x, y)
|
||||||
table.insert(enemies, {
|
table.insert(enemies, {
|
||||||
x = x,
|
x = x,
|
||||||
y = y,
|
y = y,
|
||||||
until_shoot = enemy_min_shoot + math.random() * (enemy_max_shoot - enemy_min_shoot),
|
until_shoot = math.random() * (enemy_max_shoot - enemy_min_shoot),
|
||||||
alive = true
|
alive = true
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
@ -307,7 +291,7 @@ function updateEnemies(dt)
|
||||||
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)
|
||||||
if unreflected_missiles < unreflected_missiles_allowed then
|
if unreflected_missiles < unreflected_missiles_max then
|
||||||
local target = cities[math.random(1, #cities)]
|
local target = cities[math.random(1, #cities)]
|
||||||
local inaccuracy = math.random() * 2 * enemy_inaccuracy - enemy_inaccuracy
|
local inaccuracy = math.random() * 2 * enemy_inaccuracy - enemy_inaccuracy
|
||||||
local speed = missile_speed_min + math.random() * (missile_speed_max - missile_speed_min)
|
local speed = missile_speed_min + math.random() * (missile_speed_max - missile_speed_min)
|
||||||
|
@ -328,11 +312,6 @@ function love.update(dt)
|
||||||
updateExplosions(dt)
|
updateExplosions(dt)
|
||||||
updateEnemies(dt)
|
updateEnemies(dt)
|
||||||
|
|
||||||
time = time + dt
|
|
||||||
if unreflected_missiles_allowed < unreflected_missiles_max and time >= unreflected_missiles_allowed * unreflected_missiles_allowed_ramp_up then
|
|
||||||
unreflected_missiles_allowed = unreflected_missiles_allowed + 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if #explosions == 0 and #missiles == 0 and #enemies == 0 then
|
if #explosions == 0 and #missiles == 0 and #enemies == 0 then
|
||||||
love.event.quit()
|
love.event.quit()
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue