class Codebreaker::Entities::Controller

Constants

GUESSED_NUMBER_SYMBOL
UNEXPECTED_NUMBER_SYMBOL

Attributes

code[R]
guess[R]
result[R]

Public Instance Methods

secret_code_handler(code, guess) click to toggle source
# File lib/codebreaker/entities/controller.rb, line 9
def secret_code_handler(code, guess)
  @code = code.split('')
  @guess = guess.split('')
  guessed_numbers.join + guessed_numbers_error_posit.join
end

Private Instance Methods

guessed_numbers() click to toggle source
# File lib/codebreaker/entities/controller.rb, line 17
def guessed_numbers
  code.map.with_index do |_key, index|
    next unless code[index] == guess[index]

    @guess[index], @code[index] = nil
    GUESSED_NUMBER_SYMBOL
  end
end
guessed_numbers_error_posit() click to toggle source
# File lib/codebreaker/entities/controller.rb, line 26
def guessed_numbers_error_posit
  guess.compact.map do |number|
    next unless @code.include?(number)

    @code.delete_at(code.index(number))
    UNEXPECTED_NUMBER_SYMBOL
  end
end