Class: Cop

Inherits:
Villager show all
Defined in:
lib/were_wolf/player/cop.rb

Direct Known Subclasses

LittleGirl

Instance Method Summary collapse

Constructor Details

#initializeCop



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_allObject



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