Class: SolveInterface

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(solver) ⇒ SolveInterface



7
8
9
10
11
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 7

def initialize(solver)
  @solver = solver
  @code_length = solver.code_length
  @current_try = -1
end

Instance Attribute Details

#current_tryObject (readonly)

Returns the value of attribute current_try.



5
6
7
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 5

def current_try
  @current_try
end

Instance Method Details

#display_assessment(result) ⇒ Object



29
30
31
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 29

def display_assessment(result)
  @solver.assessment_received(result)
end

#display_end_game(try_count) ⇒ Object



38
39
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 38

def display_end_game(try_count)
end

#display_invalid_code(code) ⇒ Object

Raises:

  • (ArgumentError)


33
34
35
36
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 33

def display_invalid_code(code)
  raise ArgumentError, "#{code.inspect} is not a valid code"
  # raise ArgumentError.new('Please enter a valid code')
end

#display_welcome_message(playername) ⇒ Object



26
27
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 26

def display_welcome_message(playername)
end

#read_code_lengthObject



17
18
19
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 17

def read_code_length
  @code_length
end

#read_next_guess(try_count) ⇒ Object



21
22
23
24
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 21

def read_next_guess(try_count)
  @current_try += 1
  @solver.request_quess(try_count -1)
end

#read_playernameObject



13
14
15
# File 'lib/mastermind_ruby/solver/solve_interface.rb', line 13

def read_playername
  @solver.class.name
end