Class: BruteForceSolver
- Inherits:
-
Object
- Object
- BruteForceSolver
- Defined in:
- lib/mastermind_ruby/solver/brute_force_solver.rb
Instance Attribute Summary collapse
-
#code_length ⇒ Object
readonly
Returns the value of attribute code_length.
Instance Method Summary collapse
- #assessment_received(result) ⇒ Object
- #generate_start_codes ⇒ Object
-
#initialize(code_length: 4) ⇒ BruteForceSolver
constructor
A new instance of BruteForceSolver.
- #request_quess(count) ⇒ Object
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_length ⇒ Object (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_codes ⇒ Object
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 |