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