Class: MM::GameStateChanger

Inherits:
Object
  • Object
show all
Defined in:
lib/games/mastermind/game_state_changer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#gameObject

Returns the value of attribute game.



3
4
5
# File 'lib/games/mastermind/game_state_changer.rb', line 3

def game
  @game
end

Instance Method Details

#change_game_state(guess, game) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/games/mastermind/game_state_changer.rb', line 5

def change_game_state(guess, game)
  @game = game
  game.current_guess = guess
  game.current_result = game.evaluate_guess(secret_code, current_guess)
  change_pegs(guess, game.current_result)
  if !game.won?
    game.move_forward_one_turn
  end
end

#change_pegs(guess, current_result) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/games/mastermind/game_state_changer.rb', line 15

def change_pegs(guess, current_result)
  current_row.each_with_index do |peg, index|
    peg.change_value(guess[index])
  end

  result_pegs_current_row.each_with_index do |peg, index|
    peg.change_value(current_result[index])
  end
end

#current_guessObject



37
38
39
# File 'lib/games/mastermind/game_state_changer.rb', line 37

def current_guess
  game.current_guess
end

#current_rowObject



25
26
27
# File 'lib/games/mastermind/game_state_changer.rb', line 25

def current_row
  game.pegs_current_row
end

#result_pegs_current_rowObject



29
30
31
# File 'lib/games/mastermind/game_state_changer.rb', line 29

def result_pegs_current_row
  game.result_pegs_current_row
end

#secret_codeObject



33
34
35
# File 'lib/games/mastermind/game_state_changer.rb', line 33

def secret_code
  game.secret_code
end