class Kudo::Operator

Public Class Methods

get_column(sudoku, j) click to toggle source
# File lib/kudo/operator.rb, line 20
def get_column(sudoku, j)
  sudoku.map { |row| row[j] }
end
get_empty_cells(sudoku) click to toggle source
# File lib/kudo/operator.rb, line 5
def get_empty_cells(sudoku)
  empty_cells = []
  9.times do |i|
    9.times do |j|
      empty_cells.append([i, j]) if sudoku[i][j].zero?
    end
  end

  empty_cells
end
get_row(sudoku, i) click to toggle source
# File lib/kudo/operator.rb, line 16
def get_row(sudoku, i)
  sudoku[i]
end
get_subgrid(sudoku, i, j) click to toggle source
# File lib/kudo/operator.rb, line 24
def get_subgrid(sudoku, i, j)
  row = i / 3 * 3
  col = j / 3 * 3
  subgrid = []
  (row..row + 2).each do |r|
    (col..col + 2).each do |c|
      subgrid << sudoku[r][c]
    end
  end
  subgrid
end