Class: TicTacToe::Player::Computer
- Inherits:
-
Object
- Object
- TicTacToe::Player::Computer
- Includes:
- MoveJson
- Defined in:
- lib/tic_tac_toe/players/computer_player.rb
Instance Attribute Summary collapse
-
#letter ⇒ Object
readonly
Returns the value of attribute letter.
Instance Method Summary collapse
- #get_move(board) ⇒ Object
- #has_next_move? ⇒ Boolean
-
#initialize(params, solver = Strategy::MinimaxStrategy) ⇒ Computer
constructor
A new instance of Computer.
- #type ⇒ Object
Methods included from MoveJson
Constructor Details
#initialize(params, solver = Strategy::MinimaxStrategy) ⇒ Computer
Returns a new instance of Computer.
10 11 12 13 |
# File 'lib/tic_tac_toe/players/computer_player.rb', line 10 def initialize(params, solver=Strategy::MinimaxStrategy) @letter = params['letter'] || params[:letter] @solver = solver end |
Instance Attribute Details
#letter ⇒ Object (readonly)
Returns the value of attribute letter.
8 9 10 |
# File 'lib/tic_tac_toe/players/computer_player.rb', line 8 def letter @letter end |
Instance Method Details
#get_move(board) ⇒ Object
15 16 17 |
# File 'lib/tic_tac_toe/players/computer_player.rb', line 15 def get_move(board) @solver.new(board, @letter).solve end |
#has_next_move? ⇒ Boolean
19 20 21 |
# File 'lib/tic_tac_toe/players/computer_player.rb', line 19 def has_next_move? true end |