class GuessLogic

Class for processing guesses

Attributes

guessed_letters[R]
incorrect_guesses[RW]
incorrect_letters[RW]
messages[RW]
word_to_guess[R]

Public Class Methods

new(word_to_guess) click to toggle source
# 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

Public Instance Methods

compare(guess) click to toggle source
# File lib/guess_logic.rb, line 21
def compare(guess)
  if correct_guess?(guess)
    add_letters(guessed_letters, guess)
    messages << "\n That's Correct!"
  else
    add_letters(incorrect_letters, guess)
    self.incorrect_guesses += 1
    messages << "\n Sorry, that's incorrect."
  end
end
correct_word?(guess) click to toggle source
# File lib/guess_logic.rb, line 36
def correct_word?(guess)
  word_to_guess == guess.answer
end
full_word_guess?(guess) click to toggle source
# File lib/guess_logic.rb, line 32
def full_word_guess?(guess)
  word_to_guess.length == guess.answer.length
end
guessed_word() click to toggle source
# File lib/guess_logic.rb, line 17
def guessed_word
  word_to_guess.chars.map { |char| guessed_letters.include?(char) ? char : '-' }.join
end

Private Instance Methods

add_letters(collection, guess) click to toggle source
# File lib/guess_logic.rb, line 46
def add_letters(collection, guess)
  collection << guess.answer
end
correct_guess?(guess) click to toggle source
# File lib/guess_logic.rb, line 42
def correct_guess?(guess)
  word_to_guess.include?(guess.answer)
end