Class: Mastermind::GameStatus
- Inherits:
-
Object
- Object
- Mastermind::GameStatus
- Defined in:
- lib/mastermind/GameStatus.rb
Instance Method Summary collapse
- #end_of_game?(result) ⇒ Boolean
-
#initialize(code, colors) ⇒ GameStatus
constructor
A new instance of GameStatus.
- #process_guess(guess) ⇒ Object
- #valid_letters ⇒ Object
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
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_letters ⇒ Object
11 12 13 |
# File 'lib/mastermind/GameStatus.rb', line 11 def valid_letters @colors end |