class Asteroids::PlayState
Public Class Methods
new()
click to toggle source
# File lib/asteroids/states/play_state.rb, line 4 def initialize @background = Gosu::Image.new($window, Utils.get_image_path('background.png'), false) @live_image = Gosu::Image.new($window, Utils.get_image_path('ship_small.png'), false) @object_pool = ObjectPool.new @ship = Ship.new(@object_pool) Utils.create_asteroids(@object_pool, 4) @font = Gosu::Font.new($window, Utils.get_font_path('victor-pixel.ttf'), 34) @level = 1 @level_compleate = false end
Public Instance Methods
check_level_compleate()
click to toggle source
# File lib/asteroids/states/play_state.rb, line 44 def check_level_compleate @level_compleate = !@object_pool.objects.any? { |object| object.is_a? Asteroids::Asteroid } end
draw()
click to toggle source
# File lib/asteroids/states/play_state.rb, line 19 def draw @background.draw(0, 0, 0) @object_pool.objects.map(&:draw) if !@ship.is_alive? @font.draw("Game Over", 210, 250, 50, 2.0, 2.0, 0xffffff00) else @font.draw("Score: ", 580, 10, 50, 1.0, 1.0, 0xffffff00) @font.draw(@ship.score, 700, 10, 50, 1.0, 1.0, 0xffffff00) @font.draw("Lives: ", 10, 10, 50, 1.0, 1.0, 0xffffff00) @ship.lives.times do |n| @live_image.draw(110 + n * 50, 10, 50) end end end
update()
click to toggle source
# File lib/asteroids/states/play_state.rb, line 34 def update check_level_compleate if @level_compleate == true Utils.create_asteroids(@object_pool, 4 + @level) @level += 1 @level_compleate = false end @object_pool.update_all end