Class: Swarm::Five
Instance Method Summary collapse
Methods inherited from Level
each, #find_player, #initialize, #move, #move_player, #over?, #spawn_player, #update, #update!
Constructor Details
This class inherits a constructor from Swarm::Level
Instance Method Details
#play ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/swarm/levels/five.rb', line 4 def play promoted = laid_egg = hatched = false Catalog.select(*%i[worker soldier queen egg]).each do |tile| tile.age! if tile.worker? if !promoted && (tile.age % 15).zero? tile.soldier! promoted = true else move tile, @player end elsif tile.queen? if !laid_egg && (tile.age % 10).zero? move tile, @player tile.egg! laid_egg = true else move tile, @player end elsif tile.egg? if !hatched && (tile.age % 5).zero? tile.queen! hatched = true end elsif tile.soldier? move tile, @player end end true end |
#setup ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/swarm/levels/five.rb', line 58 def setup @map.each &:empty! @map.spawn :dirt!, 30 @map.spawn :rock!, 5 @map.spawn :worker!, 0.5 @map.spawn :soldier!, 0.15 @map.spawn :queen!, 0.3 @map.spawn :egg!, 0.15 @map.center.player! end |