Class: Codebreaker::Core
- Inherits:
-
Object
- Object
- Codebreaker::Core
- Defined in:
- lib/entities/core.rb
Constant Summary collapse
- GUESSED_PLACE =
'+'
- GUESSED_PRESENCE =
'-'
- CB_ARRAY_SIZE =
4
- GAME_NUMBER_RANGE =
(1..6).freeze
Instance Method Summary collapse
Instance Method Details
#check(cb_numbers, guess_arr) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/entities/core.rb', line 13 def check(cb_numbers, guess_arr) result = '' code_guess_arr = cb_numbers.zip(guess_arr) code_after_each = [] guess_after_each = [] code_guess_arr.each do |unite_arr| if unite_arr.uniq.size == 1 result += GUESSED_PLACE else code_after_each << unite_arr.first guess_after_each << unite_arr.last end end guess_after_each.each { |elem| result += GUESSED_PRESENCE if code_after_each.uniq.include?(elem) } result end |
#generate_secret_code ⇒ Object
9 10 11 |
# File 'lib/entities/core.rb', line 9 def generate_secret_code CB_ARRAY_SIZE.times.map { rand(GAME_NUMBER_RANGE) } end |