class Asteroids::ObjectPool

Attributes

objects[RW]

Public Class Methods

new() click to toggle source
# File lib/asteroids/componenets/game_pool.rb, line 5
def initialize
  @objects = []
end

Public Instance Methods

find_empty_space() click to toggle source
# File lib/asteroids/componenets/game_pool.rb, line 14
def find_empty_space
  x = Gosu::random(0, 800)
  y = Gosu::random(0, 600)
  while is_not_empty(x, y)
    x = Gosu::random(0, 800)
    y = Gosu::random(0, 600)
  end
  {x: x, y: y}
end
is_not_empty(x, y) click to toggle source
# File lib/asteroids/componenets/game_pool.rb, line 24
def is_not_empty(x, y)
  @objects.each do |object|
    if object.is_a? Asteroids::Asteroid and object.x == x and object.y == y
      return true
    end
  end
  false
end
update_all() click to toggle source
# File lib/asteroids/componenets/game_pool.rb, line 9
def update_all
  @objects.map(&:update)
  @objects.delete_if { |object| object.removable?}
end