Browse Source

added enemy, blaster functionality

master
NCLanceman 8 months ago
parent
commit
11581d1010
  1. 8
      blaster.lua
  2. 22
      enemy.lua
  3. 5
      main.lua
  4. 12
      player.lua

8
blaster.lua

@ -1,11 +1,13 @@
Blaster = Object:extend() Blaster = Object:extend()
function Blaster:new(x, y) function Blaster:new(x, y, owner)
self.x = x self.x = x
self.y = y self.y = y
self.radius = 10 self.radius = 10
self.speed = 700 self.speed = 700
self.color = { 1, 0, 0 } self.color = { 1, 0, 0 }
self.destroy = false
self.owner = owner
end end
function Blaster:draw() function Blaster:draw()
@ -14,5 +16,9 @@ function Blaster:draw()
end end
function Blaster:update(dt) function Blaster:update(dt)
if self.owner == "player" then
self.y = self.y - self.speed * dt self.y = self.y - self.speed * dt
elseif self.owner == "enemy" then
self.y = self.y + self.speed * dt
end
end end

22
enemy.lua

@ -0,0 +1,22 @@
--! file enemy.lua
require("blaster")
Enemy = Object:extend()
function Enemy:new(x, y)
self.x = x
self.y = y
self.width = 30
self.height = 30
self.health = 100
end
function Enemy:draw()
--draw stuff
love.graphics.rectangle("line", self.x, self.y, self.width, self.height)
end
function Enemy:update(dt)
--movement
end
--shoot at the player a variable number of seconds

5
main.lua

@ -1,12 +1,14 @@
function love.load() function love.load()
Object = require("classic") Object = require("classic")
require("blaster") --require("blaster")
require("player") require("player")
require("enemy")
local window_width = love.graphics.getWidth() local window_width = love.graphics.getWidth()
local window_height = love.graphics.getHeight() local window_height = love.graphics.getHeight()
player = Player(window_width / 2, window_height * 0.8) player = Player(window_width / 2, window_height * 0.8)
enemy = Enemy(100, 100)
--set background for space! --set background for space!
love.graphics.setBackgroundColor(27 / 255, 51 / 255, 85 / 255) love.graphics.setBackgroundColor(27 / 255, 51 / 255, 85 / 255)
@ -18,6 +20,7 @@ end
function love.draw() function love.draw()
player:draw() player:draw()
enemy:draw()
end end
function love.keypressed(key) function love.keypressed(key)

12
player.lua

@ -21,8 +21,16 @@ function Player:update(dt)
end end
--bullets! --bullets!
for _, v in ipairs(listOfBullets) do for i, v in ipairs(listOfBullets) do
v:update(dt) v:update(dt)
if v.y < 0 then
v.destroy = true
end
if v.destroy == true then
table.remove(listOfBullets, i)
print("Bullet Destroyed! Bullets in Table: ", #listOfBullets)
end
end end
end end
@ -44,6 +52,6 @@ function Player:keyPressed(key)
--Shooting controls --Shooting controls
if key == "space" then if key == "space" then
--pew pew --pew pew
table.insert(listOfBullets, Blaster(fire_origin_x, fire_origin_y)) table.insert(listOfBullets, Blaster(fire_origin_x, fire_origin_y, "player"))
end end
end end

Loading…
Cancel
Save