First version
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
-----Создание Бонусов-----
|
||||
function game.bonus.create(enemyX, enemyY, type)
|
||||
local locBonus = {}
|
||||
locBonus.type = type
|
||||
locBonus.x = enemyX
|
||||
locBonus.y = enemyY
|
||||
locBonus.width = 50
|
||||
locBonus.height = 50
|
||||
locBonus.angle = 0
|
||||
|
||||
if type == 1 then
|
||||
locBonus.texture = bonus.textures.lvlUp
|
||||
elseif type == 2 then
|
||||
locBonus.texture = bonus.textures.laser
|
||||
elseif type == 3 then
|
||||
locBonus.texture = bonus.textures.plasma
|
||||
elseif type == 4 then
|
||||
locBonus.texture = bonus.textures.health
|
||||
elseif type == 5 then
|
||||
locBonus.texture = bonus.textures.life
|
||||
end
|
||||
|
||||
table.insert(bonus, locBonus)
|
||||
end
|
||||
|
||||
-----Удаление Бонусов-----
|
||||
function game.bonus.delete(deletedBonuses)
|
||||
|
||||
for i,v in ipairs(deletedBonuses) do
|
||||
table.remove(bonus, v)
|
||||
end
|
||||
end
|
||||
|
||||
-----Обновление Бонусов-----
|
||||
function game.bonus.update(dt)
|
||||
|
||||
local deletedBonuses = {}
|
||||
|
||||
--Перебор Бонусов--
|
||||
for i,v in ipairs(bonus) do
|
||||
|
||||
--Обновление Координат--
|
||||
v.x = v.x - dt * 250
|
||||
v.y = v.y + dt * 500 * math.cos(v.angle)
|
||||
v.angle = v.angle + 0.05
|
||||
|
||||
--Удаление Бонусов Когда Они Уходят Далеко за Экран--
|
||||
if v.x < -100 then
|
||||
table.insert(deletedBonuses, i)
|
||||
end
|
||||
|
||||
if CheckCollision(v.x, v.y, v.width, v.height, player.x, player.y, player.width, player.height) then
|
||||
if v.type == 1 then
|
||||
player.levelUp = true
|
||||
player.score = player.score + 200
|
||||
elseif v.type == 2 then
|
||||
player.weapon.type.new = "laser"
|
||||
player.weapon.changed = true
|
||||
player.score = player.score + 100
|
||||
elseif v.type == 3 then
|
||||
player.weapon.type.new = "plasma"
|
||||
player.weapon.changed = true
|
||||
player.score = player.score + 100
|
||||
elseif v.type == 4 then
|
||||
if player.health.current + 100 < player.health.max then
|
||||
player.health.current = player.health.current + 100
|
||||
else
|
||||
player.health.current = player.health.max
|
||||
end
|
||||
player.score = player.score + 50
|
||||
elseif v.type == 5 then
|
||||
if player.lifes.current < player.lifes.max then
|
||||
player.lifes.current = player.lifes.current + 1
|
||||
end
|
||||
player.score = player.score + 250
|
||||
end
|
||||
table.insert(deletedBonuses, i)
|
||||
end
|
||||
|
||||
|
||||
|
||||
end
|
||||
game.bonus.delete(deletedBonuses)
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user