Class: GuessTheNumberGame

Inherits:
Object
  • Object
show all
Defined in:
lib/guess_the_number_game.rb

Constant Summary collapse

MAX_NUMBER =
10

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(guess_checker, output_handler) ⇒ GuessTheNumberGame

Returns a new instance of GuessTheNumberGame.



9
10
11
12
13
14
# File 'lib/guess_the_number_game.rb', line 9

def initialize(guess_checker, output_handler)
  @random_number = 1 + rand(MAX_NUMBER)
  @message_manager = MessageManager.new
  @guess_checker = guess_checker
  @output_handler = output_handler
end

Instance Attribute Details

#guess_checkerObject (readonly)

Returns the value of attribute guess_checker.



5
6
7
# File 'lib/guess_the_number_game.rb', line 5

def guess_checker
  @guess_checker
end

#message_managerObject (readonly)

Returns the value of attribute message_manager.



5
6
7
# File 'lib/guess_the_number_game.rb', line 5

def message_manager
  @message_manager
end

Instance Method Details

#playObject



16
17
18
19
20
21
22
23
24
# File 'lib/guess_the_number_game.rb', line 16

def play
  loop do
    user_guess = request_and_get_guess
    clue = guess_checker.clue_for(@random_number, user_guess)
    clue ? @output_handler.show(clue) : break
  end

  @output_handler.show(message_manager.correct)
end