Class: Swarm::Two

Inherits:
Level
  • Object
show all
Defined in:
lib/swarm/levels/two.rb

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

#playObject



4
5
6
7
8
9
10
# File 'lib/swarm/levels/two.rb', line 4

def play
  Catalog.select(*%i[worker soldier]).each do |tile|
    move tile, @player
  end

  true
end

#setupObject



27
28
29
30
31
32
33
34
35
36
# File 'lib/swarm/levels/two.rb', line 27

def setup
  @map.each &:empty!

  @map.spawn :dirt!, 30
  @map.spawn :rock!, 5
  @map.spawn :worker!, 0.5
  @map.spawn :soldier!, 0.15

  @map.center.player!
end

#show(players) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/swarm/levels/two.rb', line 13

def show(players)
  pause do
    <<-POPUP.gsub(/[ ]{10}/, '') % Console.key_info

      - LEVEL 2 -


      Press %<pause>s to start.

      (#{players} lives remaining)
    POPUP
  end
end