Class: CodeBrkrGameTraining::Code

Inherits:
Object
  • Object
show all
Defined in:
lib/code_brkr_game_training/entities/code.rb

Overview

Class class for storage and operations with secret code

Constant Summary collapse

GAME_NUMBERS =
{ from: 1, to: 6, count: 4 }.freeze

Instance Method Summary collapse

Constructor Details

#initializeCode

Returns a new instance of Code.



9
10
11
# File 'lib/code_brkr_game_training/entities/code.rb', line 9

def initialize
  @secret_digit_arr = generate_code
end

Instance Method Details

#code_check(user_digits_arr) ⇒ Object



13
14
15
# File 'lib/code_brkr_game_training/entities/code.rb', line 13

def code_check(user_digits_arr)
  CodeComparator.new(@secret_digit_arr, user_digits_arr).compare_codes
end

#random_digit(exclude_indexes) ⇒ Object



17
18
19
20
# File 'lib/code_brkr_game_training/entities/code.rb', line 17

def random_digit(exclude_indexes)
  rand_index = @secret_digit_arr.each_index.reject { |index| exclude_indexes.include? index }.sample
  { index: rand_index, digit: @secret_digit_arr[rand_index] }
end