Class: TicTacToe::ComputerPlayer

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

Instance Method Summary collapse

Constructor Details

#initializeComputerPlayer

Returns a new instance of ComputerPlayer.



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

def initialize
  @triples = [ [1,2,3], [4,5,6], [7,8,9], [1,4,7], [2,5,8], [3,6,9], [1,5,9], [3,5,7] ]
end

Instance Method Details

#decide_move(board) ⇒ Object



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

def decide_move(board)
  return find_winning_cell(board, "O") if find_winning_cell(board, "O") != nil
  return find_winning_cell(board, "X") if find_winning_cell(board, "X") != nil
  return random_move(board)
end

#find_winning_cell(board, mark) ⇒ Object



15
16
17
18
# File 'lib/computer_player/computer_player.rb', line 15

def find_winning_cell(board, mark)
  return find_cell(board, mark) if find_cell(board, mark) != nil
  return nil
end

#random_move(board) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/computer_player/computer_player.rb', line 20

def random_move(board)
  while(true)
    trial_number = rand(9) + 1
    if board[trial_number-1] == nil
      return trial_number
    end
  end
end