Class: GuessLogic

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

Overview

Class for processing guesses

Instance Attribute Summary collapse

Instance Method Summary collapse

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_lettersObject (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_guessesObject

Returns the value of attribute incorrect_guesses.



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

def incorrect_guesses
  @incorrect_guesses
end

#incorrect_lettersObject

Returns the value of attribute incorrect_letters.



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

def incorrect_letters
  @incorrect_letters
end

#messagesObject

Returns the value of attribute messages.



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

def messages
  @messages
end

#word_to_guessObject (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)
    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) ⇒ Boolean

Returns:

  • (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

Returns:

  • (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_wordObject



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