class GemCodebreaker::CodeMaker
Attributes
empty_match[R]
minus_match[R]
plus_match[R]
Public Class Methods
new(game_code, user_code)
click to toggle source
# File lib/gem_codebreaker/classes/code_maker.rb, line 7 def initialize(game_code, user_code) @game_code = game_code @user_code = user_code @plus_match = 0 @minus_match = 0 @empty_match = 0 end
Public Instance Methods
calculate_result_code()
click to toggle source
# File lib/gem_codebreaker/classes/code_maker.rb, line 15 def calculate_result_code count_plus_marker count_minus_and_empty_answer end
Private Instance Methods
count_minus_and_empty_answer()
click to toggle source
# File lib/gem_codebreaker/classes/code_maker.rb, line 28 def count_minus_and_empty_answer return if @game_code.nil? @game_code.each do |secret_code_item| if @user_code.include?(secret_code_item) @minus_match += 1 @user_code.delete_at(@user_code.index(secret_code_item)) else @empty_match += 1 end end end
count_plus_marker()
click to toggle source
# File lib/gem_codebreaker/classes/code_maker.rb, line 22 def count_plus_marker data = @game_code.zip(@user_code) data.delete_if { |game_code_item, user_code_item| @plus_match += 1 if game_code_item == user_code_item } @game_code, @user_code = data.transpose end