class SpaceInvaders::RedInvader
Attributes
dead[RW]
dead?[RW]
Public Class Methods
new(app, x_position=0, y_position=50)
click to toggle source
Calls superclass method
SpaceInvaders::Invader::new
# File lib/space_invaders/invaders/red_invader.rb, line 9 def initialize app, x_position=0, y_position=50 @first_image = app.images.red_invader @second_image = app.images.red_invader @can_move = Time.now @direction = :right @dead = false super end
Public Instance Methods
alive?()
click to toggle source
# File lib/space_invaders/invaders/red_invader.rb, line 22 def alive? not dead? end
can_move?()
click to toggle source
# File lib/space_invaders/invaders/red_invader.rb, line 61 def can_move? Time.now - @can_move > 0.1 end
draw()
click to toggle source
# File lib/space_invaders/invaders/red_invader.rb, line 38 def draw return if dead? @image.draw @x_position, @y_position, 1 end
handle_death()
click to toggle source
# File lib/space_invaders/invaders/red_invader.rb, line 43 def handle_death @dead = true app.score_tracker.increase_by(points) app.sounds.play_invader_hit! end
points()
click to toggle source
# File lib/space_invaders/invaders/red_invader.rb, line 18 def points 100 end
rival_bullets()
click to toggle source
# File lib/space_invaders/invaders/red_invader.rb, line 57 def rival_bullets app.ship.bullets end
set_direction()
click to toggle source
# File lib/space_invaders/invaders/red_invader.rb, line 49 def set_direction if @x_position >= app.width - 80 @direction = :left elsif @x_position <= 20 @direction = :right end end
update()
click to toggle source
# File lib/space_invaders/invaders/red_invader.rb, line 26 def update return if dead? if collides_with? rival_bullets handle_death elsif can_move? set_direction @x_position += @direction == :right ? 10 : -10 @can_move = Time.now end end