Class: MastermindGenerator::Player

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/mastermind_generator/player.rb

Overview

Player

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Player

Returns a new instance of Player.



10
11
12
13
14
# File 'lib/mastermind_generator/player.rb', line 10

def initialize(name)
  @name = name
  @guesses = []
  @timer = Timer.new
end

Instance Attribute Details

#guessesObject (readonly)

Returns the value of attribute guesses.



6
7
8
# File 'lib/mastermind_generator/player.rb', line 6

def guesses
  @guesses
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/mastermind_generator/player.rb', line 6

def name
  @name
end

#timerObject (readonly)

Returns the value of attribute timer.



6
7
8
# File 'lib/mastermind_generator/player.rb', line 6

def timer
  @timer
end

Instance Method Details

#guessObject



20
21
22
# File 'lib/mastermind_generator/player.rb', line 20

def guess
  guesses.first
end

#guess_statsObject



28
29
30
31
32
33
34
35
# File 'lib/mastermind_generator/player.rb', line 28

def guess_stats
  guess_statistics.merge(
    { count: guesses.count,
      duration: timer_duration,
      duration_as_text: timer_duration_as_text
    }
  )
end

#take_a_guess(guess) ⇒ Object



16
17
18
# File 'lib/mastermind_generator/player.rb', line 16

def take_a_guess(guess)
  guesses.prepend(guess)
end

#winner?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/mastermind_generator/player.rb', line 24

def winner?
  guess.succeed?
end