class Rules
Attributes
board[R]
Public Class Methods
new(board)
click to toggle source
# File lib/negamax_ttt/rules.rb, line 4 def initialize(board) @board = board end
Public Instance Methods
game_over?(player_1_move_signature, player_2_move_signature)
click to toggle source
# File lib/negamax_ttt/rules.rb, line 8 def game_over?(player_1_move_signature, player_2_move_signature) board.open_spaces.empty? || player_wins?(player_1_move_signature) || player_wins?(player_2_move_signature) end
player_wins?(move_signature)
click to toggle source
# File lib/negamax_ttt/rules.rb, line 12 def player_wins?(move_signature) winning_combinations.any? do |winning_combination| board.board.select do |key, value| winning_combination.include?(key) && value == move_signature end .length == board.side_length end end
winning_combinations()
click to toggle source
# File lib/negamax_ttt/rules.rb, line 21 def winning_combinations board.rows + board.columns + board.diagonals end