Class: PlayerCollection
- Inherits:
-
Object
- Object
- PlayerCollection
- Defined in:
- lib/were_wolf/player/player_collection.rb
Instance Method Summary collapse
- #alive_players ⇒ Object
- #alive_villagers ⇒ Object
- #alive_wolves ⇒ Object
- #cop ⇒ Object
- #doctor ⇒ Object
-
#initialize(no_of_wolves, no_of_villagers) ⇒ PlayerCollection
constructor
A new instance of PlayerCollection.
- #kill(player) ⇒ Object
- #little_girl ⇒ Object
- #rogue ⇒ Object
- #witch ⇒ Object
Constructor Details
#initialize(no_of_wolves, no_of_villagers) ⇒ PlayerCollection
Returns a new instance of PlayerCollection.
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 42 |
# File 'lib/were_wolf/player/player_collection.rb', line 10 def initialize(no_of_wolves, no_of_villagers) @players = [] @wolves = [] @villagers = [] no_of_wolves.times do wolf = Wolf.new @wolves.push(wolf) @players.push(wolf) end @villagers = [] (1..no_of_villagers).each do |i| if i == 1 villager = Cop.new @cop = villager elsif i == 2 villager = Doctor.new @doctor = villager elsif i == 3 villager = Rogue.new @rogue = villager elsif i == 4 villager = Witch.new @witch = villager elsif i == 5 villager = LittleGirl.new @little_girl = villager else villager = Villager.new end @villagers.push(villager) @players.push(villager) end end |
Instance Method Details
#alive_players ⇒ Object
52 53 54 |
# File 'lib/were_wolf/player/player_collection.rb', line 52 def alive_players @players end |
#alive_villagers ⇒ Object
44 45 46 |
# File 'lib/were_wolf/player/player_collection.rb', line 44 def alive_villagers @villagers end |
#alive_wolves ⇒ Object
48 49 50 |
# File 'lib/were_wolf/player/player_collection.rb', line 48 def alive_wolves @wolves end |
#cop ⇒ Object
74 75 76 |
# File 'lib/were_wolf/player/player_collection.rb', line 74 def cop @cop end |
#doctor ⇒ Object
78 79 80 |
# File 'lib/were_wolf/player/player_collection.rb', line 78 def doctor @doctor end |
#kill(player) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/were_wolf/player/player_collection.rb', line 56 def kill(player) if player.is_a?(Wolf) collection = @wolves promote_rogue_to_wolf else @cop = nil if player.is_a?(Cop) @doctor = nil if player.is_a?(Doctor) @rogue = nil if player.is_a?(Rogue) @witch = nil if player.is_a?(Witch) @little_girl = nil if player.is_a?(LittleGirl) collection = @villagers end collection.delete(player) @players.delete(player) @cop.forget(player) if @cop @little_girl.forget(player) if @little_girl end |
#little_girl ⇒ Object
90 91 92 |
# File 'lib/were_wolf/player/player_collection.rb', line 90 def little_girl @little_girl end |
#rogue ⇒ Object
82 83 84 |
# File 'lib/were_wolf/player/player_collection.rb', line 82 def rogue @rogue end |
#witch ⇒ Object
86 87 88 |
# File 'lib/were_wolf/player/player_collection.rb', line 86 def witch @witch end |