module GameLogic

Constants

DIFFICULTY_HASH

Public Instance Methods

calc_attempts_and_hints(difficulty) click to toggle source
# File lib/codebreaker_captainjns/game_logic.rb, line 32
def calc_attempts_and_hints(difficulty)
  DIFFICULTY_HASH[difficulty]
end
check_numbers(secret, numbers) click to toggle source
# File lib/codebreaker_captainjns/game_logic.rb, line 17
def check_numbers(secret, numbers)
  minuses = (secret & numbers).map { |element| [secret.count(element), numbers.count(element)].min }.sum
  result = '-' * minuses

  numbers.each.with_index do |number, index|
    result.sub!('-', '+') if number == secret[index]
  end

  result
end
hint(secrets) click to toggle source
# File lib/codebreaker_captainjns/game_logic.rb, line 28
def hint(secrets)
  secrets.shuffle!.pop
end
make_number(chars = 4, numbers = 6) click to toggle source
# File lib/codebreaker_captainjns/game_logic.rb, line 13
def make_number(chars = 4, numbers = 6)
  (1..chars).map { rand(1..numbers) }.join
end