diff --git a/blaster.lua b/blaster.lua index c984a96..728bebe 100644 --- a/blaster.lua +++ b/blaster.lua @@ -1,11 +1,13 @@ Blaster = Object:extend() -function Blaster:new(x, y) +function Blaster:new(x, y, owner) self.x = x self.y = y self.radius = 10 self.speed = 700 self.color = { 1, 0, 0 } + self.destroy = false + self.owner = owner end function Blaster:draw() @@ -14,5 +16,9 @@ function Blaster:draw() end function Blaster:update(dt) - self.y = self.y - self.speed * dt + if self.owner == "player" then + self.y = self.y - self.speed * dt + elseif self.owner == "enemy" then + self.y = self.y + self.speed * dt + end end diff --git a/enemy.lua b/enemy.lua new file mode 100644 index 0000000..7053c25 --- /dev/null +++ b/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 diff --git a/main.lua b/main.lua index 2e1e991..0d2272d 100644 --- a/main.lua +++ b/main.lua @@ -1,12 +1,14 @@ function love.load() Object = require("classic") - require("blaster") + --require("blaster") require("player") + require("enemy") local window_width = love.graphics.getWidth() local window_height = love.graphics.getHeight() player = Player(window_width / 2, window_height * 0.8) + enemy = Enemy(100, 100) --set background for space! love.graphics.setBackgroundColor(27 / 255, 51 / 255, 85 / 255) @@ -18,6 +20,7 @@ end function love.draw() player:draw() + enemy:draw() end function love.keypressed(key) diff --git a/player.lua b/player.lua index 8918988..947a337 100644 --- a/player.lua +++ b/player.lua @@ -21,8 +21,16 @@ function Player:update(dt) end --bullets! - for _, v in ipairs(listOfBullets) do + for i, v in ipairs(listOfBullets) do 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 @@ -44,6 +52,6 @@ function Player:keyPressed(key) --Shooting controls if key == "space" then --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