Class: GamesAndRpgParadise::GardenHero::Level
- Inherits:
-
Object
- Object
- GamesAndRpgParadise::GardenHero::Level
- Defined in:
- lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb
Instance Attribute Summary collapse
-
#apples ⇒ Object
readonly
Returns the value of attribute apples.
-
#enemies ⇒ Object
readonly
Returns the value of attribute enemies.
-
#game_over ⇒ Object
Returns the value of attribute game_over.
-
#num ⇒ Object
readonly
Returns the value of attribute num.
-
#stars ⇒ Object
readonly
Returns the value of attribute stars.
-
#window ⇒ Object
readonly
Returns the value of attribute window.
Instance Method Summary collapse
-
#draw ⇒ Object
draw.
-
#go_next_level ⇒ Object
go next level.
-
#initialize(window) ⇒ Level
constructor
# === initialize ========================================================================= #.
-
#update ⇒ Object
update.
Constructor Details
#initialize(window) ⇒ Level
#
initialize
#
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 18 def initialize(window) @window = window @num = 1 @map = Gosu::Image.new window, "images/maps/level#{@num}.png", true @scoreboard = Gosu::Image.new window, "images/maps/scoreboard.png", true @ui = Gosu::Font.new(window, 'Monospace', 20) @game_over_ui = Gosu::Font.new(window, 'Monospace', 30) @game_over = false @player = Player.new window @generator = LevelGenerator.new @num, @window @generator.start_point @player @stars = @generator.generate_stars @apples = @generator.generate_apples @enemies = @generator.generate_enemies end |
Instance Attribute Details
#apples ⇒ Object (readonly)
Returns the value of attribute apples.
34 35 36 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 34 def apples @apples end |
#enemies ⇒ Object (readonly)
Returns the value of attribute enemies.
34 35 36 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 34 def enemies @enemies end |
#game_over ⇒ Object
Returns the value of attribute game_over.
13 14 15 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 13 def game_over @game_over end |
#num ⇒ Object (readonly)
Returns the value of attribute num.
34 35 36 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 34 def num @num end |
#stars ⇒ Object (readonly)
Returns the value of attribute stars.
34 35 36 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 34 def stars @stars end |
#window ⇒ Object (readonly)
Returns the value of attribute window.
34 35 36 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 34 def window @window end |
Instance Method Details
#draw ⇒ Object
draw
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 50 def draw @map.draw 0, 0, 0 @scoreboard.draw 0, 480, 0 @stars.each do |s| s.draw end @apples.each { |a| a.draw } @enemies.each { |e| e.draw } @player.draw @ui.draw_text("Level #{@num}", 300, 484, 1) @game_over_ui.draw("PAUSE", 276, 220, 2) if window.pause @game_over_ui.draw("GAME OVER", 240, 220, 2) if game_over end |
#go_next_level ⇒ Object
go next level
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 37 def go_next_level if @num <= 1 @num += 1 @map = Gosu::Image.new @window, "images/maps/level#{@num}.png", true @generator = LevelGenerator.new @num, @window @generator.start_point @player @stars = @generator.generate_stars @apples = @generator.generate_apples @enemies = @generator.generate_enemies end end |
#update ⇒ Object
update
69 70 71 72 73 74 75 76 77 |
# File 'lib/games_and_rpg_paradise/gui/gosu/garden_hero/core/level/level.rb', line 69 def update if game_over == false @player.move @enemies.each { |e| e.move } go_next_level if stars.empty? end end |