lib/codebreaker_marian/entities/processor.rb in codebreaker_marian-0.2.6 vs lib/codebreaker_marian/entities/processor.rb in codebreaker_marian-0.2.7

- old
+ new

@@ -3,17 +3,18 @@ module Codebreaker module Entities class Processor MATCHED_DIGIT_CHAR = '+' UNMATCHED_DIGIT_CHAR = '-' + WRONG_DIGIT_CHAR = ' ' attr_reader :guess, :code, :result def secret_code_proc(code, guess) @code = code.split('') @guess = guess.split('') - handle_matched_digits.join + handle_matched_digits_with_wrong_position.join + handle_matched_digits.join + handle_matched_digits_with_wrong_position.join + handle_wrong_digits.join end private def handle_matched_digits @@ -29,9 +30,17 @@ guess.compact.map do |number| next unless @code.include?(number) @code.delete_at(code.index(number)) UNMATCHED_DIGIT_CHAR + end + end + + def handle_wrong_digits + guess.compact.map do |number| + next unless @code.include?(number) + + WRONG_DIGIT_CHAR end end end end end