Class: MM::GameStateChanger
- Inherits:
-
Object
- Object
- MM::GameStateChanger
- Defined in:
- lib/games/mastermind/game_state_changer.rb
Instance Attribute Summary collapse
-
#game ⇒ Object
Returns the value of attribute game.
Instance Method Summary collapse
- #change_game_state(guess, game) ⇒ Object
- #change_pegs(guess, current_result) ⇒ Object
- #current_guess ⇒ Object
- #current_row ⇒ Object
- #result_pegs_current_row ⇒ Object
- #secret_code ⇒ Object
Instance Attribute Details
#game ⇒ Object
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_guess ⇒ Object
37 38 39 |
# File 'lib/games/mastermind/game_state_changer.rb', line 37 def current_guess game.current_guess end |
#current_row ⇒ Object
25 26 27 |
# File 'lib/games/mastermind/game_state_changer.rb', line 25 def current_row game.pegs_current_row end |
#result_pegs_current_row ⇒ Object
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_code ⇒ Object
33 34 35 |
# File 'lib/games/mastermind/game_state_changer.rb', line 33 def secret_code game.secret_code end |