bullet.lua 609 B

123456789101112131415161718192021222324252627282930313233
  1. Bullet = class()
  2. function Bullet:init(x, y, vx, vy)
  3. self.x = x
  4. self.y = y
  5. self.vx = vx
  6. self.vy = vy
  7. self.dead = false
  8. end
  9. function Bullet:update(world)
  10. self.x = self.x + self.vx
  11. self.y = self.y + self.vy
  12. if self.x < 1 or self.x > WIDTH or self.y < 1 or self.y > HEIGHT then
  13. self.dead = true
  14. end
  15. end
  16. function Bullet:draw(text)
  17. local chars
  18. chars = {
  19. { '\\', '^', '/' },
  20. { '<', '+', '>' },
  21. { '/', 'v', '\\' }
  22. }
  23. text[self.y][self.x] = {
  24. char = chars[self.vy + 2][self.vx + 2],
  25. color = COLOR.BULLET
  26. }
  27. end