Class: Cop
Direct Known Subclasses
Instance Method Summary collapse
- #accuse(players) ⇒ Object
- #forget(player) ⇒ Object
- #forget_all ⇒ Object
- #identify_a_player(players) ⇒ Object
-
#initialize ⇒ Cop
constructor
A new instance of Cop.
Constructor Details
#initialize ⇒ Cop
4 5 6 7 |
# File 'lib/were_wolf/player/cop.rb', line 4 def initialize super forget_all end |
Instance Method Details
#accuse(players) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/were_wolf/player/cop.rb', line 18 def accuse(players) if @identified_wolves.any? return @identified_wolves.sample else return (players.alive_players - [self] - @identified_villagers).sample end end |
#forget(player) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/were_wolf/player/cop.rb', line 31 def forget(player) if player.is_a?(Wolf) @identified_wolves.delete(player) else @identified_villagers.delete(player) end end |
#forget_all ⇒ Object
26 27 28 29 |
# File 'lib/were_wolf/player/cop.rb', line 26 def forget_all @identified_wolves = [] @identified_villagers = [] end |
#identify_a_player(players) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/were_wolf/player/cop.rb', line 9 def identify_a_player(players) identified_player = (players.alive_players - @identified_wolves - @identified_villagers - [self]).sample if identified_player.is_a?(Wolf) @identified_wolves.push(identified_player) else @identified_villagers.push(identified_player) end end |