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