From e5bd3c950bb5b914e988e8537ad2bb2dad36dba5 Mon Sep 17 00:00:00 2001 From: Ippei Obayashi Date: Sun, 9 Feb 2014 15:59:37 +0900 Subject: [PATCH 1/2] An answer code for codebreaker --- code_breaker/ohai/codebreaker.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 code_breaker/ohai/codebreaker.rb diff --git a/code_breaker/ohai/codebreaker.rb b/code_breaker/ohai/codebreaker.rb new file mode 100644 index 0000000..a69a0ec --- /dev/null +++ b/code_breaker/ohai/codebreaker.rb @@ -0,0 +1,27 @@ +require 'set' + +module Codebreaker + class Game + def initialize(output) + @output = output + end + + def start(secret) + @secret = secret.each_char.to_a + @output.puts("Welcome to Codebreaker!") + @output.puts("Enter guess: ") + end + + def guess(numbers) + ("+" * hit_count(numbers)) + ("-" * match_count(numbers)) + end + + def hit_count(numbers) + numbers.each_char.zip(@secret).count{|n, s| s == n } + end + + def match_count(numbers) + (Set.new(numbers.each_char) & @secret).size - hit_count(numbers) + end + end +end From 5eb4132bc25e0abe2df23cb7821ce708b669eb66 Mon Sep 17 00:00:00 2001 From: Ippei Obayashi Date: Tue, 11 Feb 2014 23:02:38 +0900 Subject: [PATCH 2/2] Update codebreaker --- code_breaker/ohai/codebreaker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code_breaker/ohai/codebreaker.rb b/code_breaker/ohai/codebreaker.rb index a69a0ec..f723841 100644 --- a/code_breaker/ohai/codebreaker.rb +++ b/code_breaker/ohai/codebreaker.rb @@ -17,7 +17,7 @@ def guess(numbers) end def hit_count(numbers) - numbers.each_char.zip(@secret).count{|n, s| s == n } + numbers.each_char.zip(@secret).count{|char, secret_char| char == secret_char } end def match_count(numbers)