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