Class: Mastermind::GameStatus

Inherits:
Object
  • Object
show all
Defined in:
lib/mastermind/GameStatus.rb

Instance Method Summary collapse

Constructor Details

#initialize(code, colors) ⇒ GameStatus

Returns a new instance of GameStatus.



5
6
7
8
9
# File 'lib/mastermind/GameStatus.rb', line 5

def initialize(code, colors)
  @code = code
  @num_of_tries = 0
  @colors = colors
end

Instance Method Details

#end_of_game?(result) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/mastermind/GameStatus.rb', line 26

def end_of_game?(result)
  win?(result.guess) || result.num_of_tries == 10
end

#process_guess(guess) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/mastermind/GameStatus.rb', line 15

def process_guess(guess)
  @num_of_tries += 1
  if win?(guess)
    #Is it worth checking win separately here?
    result_hash = WIN_HASH 
  else
    result_hash = CodeComparer.new(@code, guess).compare
  end
  CurrentResult.new(guess, @num_of_tries, result_hash) 
end

#valid_lettersObject



11
12
13
# File 'lib/mastermind/GameStatus.rb', line 11

def valid_letters
  @colors
end