Class: Win

Inherits:
Chingu::GameState
  • Object
show all
Defined in:
lib/games_paradise/gui/gosu/chinguroids/ending.rb

Overview

WIN GAMESTATE

transition gamestate from Level_3 to Ending

Instance Method Summary collapse

Instance Method Details

#drawObject



83
84
85
86
# File 'lib/games_paradise/gui/gosu/chinguroids/ending.rb', line 83

def draw
  Image["../media/assets/background.png"].draw(0, 0, 0)    # Background Image
  super
end

#fly_awayObject

fly_away



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/games_paradise/gui/gosu/chinguroids/ending.rb', line 55

def fly_away
  @turn_left = true  # spaceship shifts to autopilot and flies away; push Ending gamestate
  after(500) {@turn_left = false}
  after(1000) { $music = Song["media/audio/music/end_song.ogg"]; $music.volume = 0.8; $music.play(true) }
  after(1000) { @turn_left = true }
  after(1200) { @accel = true }
  after(1300) { @player.fire } # Player methods are defined in objects.rb
  after(1350) { @player.fire }
  after(1400) { @player.fire }
  after(1400) { @accel = false }
  after(1500) { @turn_left = false }
  after(2000) { @player.accelerate }
  after(2500) { @player.accelerate }
  after(2600) { @player.turn_left }
  after(2800) { @player.accelerate }
  after(3000) { @turn_right = true }
  after(3200) { @firing = true }
  after(3600) { @player.speedify; @accel = true }
  after(3800) { @firing = false }
  after(3800) { @turn_right = false }
  after(7000) { push_game_state(Chingu::GameStates::FadeTo.new(Ending.new, :speed => 10)) }
end

#popObject

pop



79
80
81
# File 'lib/games_paradise/gui/gosu/chinguroids/ending.rb', line 79

def pop
  pop_game_state(setup: false)
end

#setupObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/games_paradise/gui/gosu/chinguroids/ending.rb', line 32

def setup
  self.input = { :esc => :exit, :p => Pause, :r => lambda{current_game_state.setup}, [:q, :l] => :pop }
  $window.caption = "Victory!"
  Bullet.destroy_all   # Destroy possible lingering GameObjects
  Player.destroy_all
  Star.destroy_all
  Meteor1.destroy_all
  Meteor2.destroy_all
  Meteor3.destroy_all
  Explosion.destroy_all
  if @player != nil; @player.destroy; end

  @player = Player.create(:x => $player_x, :y => $player_y, :angle => $player_angle, :velocity_x => $player_x_vel, :velocity_y => $player_y_vel, :zorder => Zorder::Main_Character)
#   Player class is defined in objects.rb

  @accel = false       # called in update
  @turn_left = false   # called in update
  @turn_right = false  # called in update
  @firing = false      # called in update
  fly_away  # spaceship autopilot script
end

#updateObject

update



89
90
91
92
93
94
95
# File 'lib/games_paradise/gui/gosu/chinguroids/ending.rb', line 89

def update
  super
  @player.turn_left if @turn_left  # autopilot commands
  @player.turn_right if @turn_right
  @player.accelerate if @accel
  @player.fire if @firing
end