class Codebreaker::Core

Constants

CB_ARRAY_SIZE
GAME_NUMBER_RANGE
GUESSED_PLACE
GUESSED_PRESENCE

Public Instance Methods

check(cb_numbers, guess_arr) click to toggle source
# File lib/entities/core.rb, line 13
def check(cb_numbers, guess_arr)
  result = ''
  code_guess_arr = cb_numbers.zip(guess_arr)
  code_after_each = []
  guess_after_each = []
  code_guess_arr.each do |unite_arr|
    if unite_arr.uniq.size == 1
      result += GUESSED_PLACE
    else
      code_after_each << unite_arr.first
      guess_after_each << unite_arr.last
    end
  end
  guess_after_each.each { |elem| result += GUESSED_PRESENCE if code_after_each.uniq.include?(elem) }
  result
end
generate_secret_code() click to toggle source
# File lib/entities/core.rb, line 9
def generate_secret_code
  CB_ARRAY_SIZE.times.map { rand(GAME_NUMBER_RANGE) }
end