Class: GuessLogic
- Inherits:
-
Object
- Object
- GuessLogic
- Defined in:
- lib/guess_logic.rb
Overview
Class for processing guesses
Instance Attribute Summary collapse
-
#guessed_letters ⇒ Object
readonly
Returns the value of attribute guessed_letters.
-
#incorrect_guesses ⇒ Object
Returns the value of attribute incorrect_guesses.
-
#incorrect_letters ⇒ Object
Returns the value of attribute incorrect_letters.
-
#messages ⇒ Object
Returns the value of attribute messages.
-
#word_to_guess ⇒ Object
readonly
Returns the value of attribute word_to_guess.
Instance Method Summary collapse
- #compare(guess) ⇒ Object
- #correct_word?(guess) ⇒ Boolean
- #full_word_guess?(guess) ⇒ Boolean
- #guessed_word ⇒ Object
-
#initialize(word_to_guess) ⇒ GuessLogic
constructor
A new instance of GuessLogic.
Constructor Details
#initialize(word_to_guess) ⇒ GuessLogic
Returns a new instance of GuessLogic.
9 10 11 12 13 14 15 |
# File 'lib/guess_logic.rb', line 9 def initialize(word_to_guess) @word_to_guess = word_to_guess.word @guessed_letters = [] @incorrect_letters = [] @incorrect_guesses = 0 @messages = [] end |
Instance Attribute Details
#guessed_letters ⇒ Object (readonly)
Returns the value of attribute guessed_letters.
5 6 7 |
# File 'lib/guess_logic.rb', line 5 def guessed_letters @guessed_letters end |
#incorrect_guesses ⇒ Object
Returns the value of attribute incorrect_guesses.
6 7 8 |
# File 'lib/guess_logic.rb', line 6 def incorrect_guesses @incorrect_guesses end |
#incorrect_letters ⇒ Object
Returns the value of attribute incorrect_letters.
6 7 8 |
# File 'lib/guess_logic.rb', line 6 def incorrect_letters @incorrect_letters end |
#messages ⇒ Object
Returns the value of attribute messages.
6 7 8 |
# File 'lib/guess_logic.rb', line 6 def @messages end |
#word_to_guess ⇒ Object (readonly)
Returns the value of attribute word_to_guess.
5 6 7 |
# File 'lib/guess_logic.rb', line 5 def word_to_guess @word_to_guess end |
Instance Method Details
#compare(guess) ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/guess_logic.rb', line 21 def compare(guess) if correct_guess?(guess) add_letters(guessed_letters, guess) << "\n That's Correct!" else add_letters(incorrect_letters, guess) self.incorrect_guesses += 1 << "\n Sorry, that's incorrect." end end |
#correct_word?(guess) ⇒ Boolean
36 37 38 |
# File 'lib/guess_logic.rb', line 36 def correct_word?(guess) word_to_guess == guess.answer end |
#full_word_guess?(guess) ⇒ Boolean
32 33 34 |
# File 'lib/guess_logic.rb', line 32 def full_word_guess?(guess) word_to_guess.length == guess.answer.length end |
#guessed_word ⇒ Object
17 18 19 |
# File 'lib/guess_logic.rb', line 17 def guessed_word word_to_guess.chars.map { |char| guessed_letters.include?(char) ? char : '-' }.join end |