class Judge
Класс Judge
- судья (проверщик).
Constants
- WIN_COMBINATIONS
Attributes
board[RW]
Public Class Methods
new(game)
click to toggle source
# File lib/ttt-cli/judge.rb, line 13 def initialize(game) @board = game.board.cells end
Public Instance Methods
is_combo?(player)
click to toggle source
основной метод для проверки на выигрыш возвращает true если обнаружена выигрышная комбинация
# File lib/ttt-cli/judge.rb, line 19 def is_combo?(player) !winning_combination(player.token).nil? end
Private Instance Methods
winning_combination(token)
click to toggle source
метод который возвращает первую подходящую комбинацию или nil если не было совпадения
# File lib/ttt-cli/judge.rb, line 27 def winning_combination(token) WIN_COMBINATIONS.find do |indices| # возвращаем значения для соответствующих индексов # values_at(*[0,1,2]) => values_at(0,1,2) values = @board.values_at(*indices) # проверяем, равны ли все значения X или O values.all?(token) end end