Class: BruteForceSolver

Inherits:
Object
  • Object
show all
Defined in:
lib/mastermind_ruby/solver/brute_force_solver.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code_length: 4) ⇒ BruteForceSolver

Returns a new instance of BruteForceSolver.



6
7
8
9
# File 'lib/mastermind_ruby/solver/brute_force_solver.rb', line 6

def initialize(code_length: 4)
  @code_length = code_length
  @input = generate_start_codes
end

Instance Attribute Details

#code_lengthObject (readonly)

Returns the value of attribute code_length.



4
5
6
# File 'lib/mastermind_ruby/solver/brute_force_solver.rb', line 4

def code_length
  @code_length
end

Instance Method Details

#assessment_received(result) ⇒ Object



19
20
21
# File 'lib/mastermind_ruby/solver/brute_force_solver.rb', line 19

def assessment_received(result)
  # idiot solver ignores what assessment is received
end

#generate_start_codesObject



15
16
17
# File 'lib/mastermind_ruby/solver/brute_force_solver.rb', line 15

def generate_start_codes
  MastermindRuby::Code::AVAILABLE_CHARACTERS.repeated_permutation(@code_length).map &:join
end

#request_quess(count) ⇒ Object



11
12
13
# File 'lib/mastermind_ruby/solver/brute_force_solver.rb', line 11

def request_quess(count)
  MastermindRuby::Code.parse(@input[count])
end