class ILoveSudoku::Puzzle

Public Class Methods

new(matrix=nil) click to toggle source
# File lib/puzzle.rb, line 4
def initialize(matrix=nil)
  @matrix = matrix ||= blank_matrix
end

Public Instance Methods

edit_row(index, str) click to toggle source
# File lib/puzzle.rb, line 24
def edit_row(index, str)
  arr = []
  str.each_char do |char|
    arr << (char == "." ? nil : char.to_i)
  end
  @matrix[index] = arr
end
solved_matrix() click to toggle source
# File lib/puzzle.rb, line 12
def solved_matrix
  GraphSearcher.new(@matrix).result
end
solved_string() click to toggle source
# File lib/puzzle.rb, line 20
def solved_string
  PuzzleFormatter.new(solved_matrix).to_s
end
unsolved_matrix() click to toggle source
# File lib/puzzle.rb, line 8
def unsolved_matrix
  @matrix
end
unsolved_string() click to toggle source
# File lib/puzzle.rb, line 16
def unsolved_string
  PuzzleFormatter.new(@matrix).to_s
end

Private Instance Methods

blank_matrix() click to toggle source
# File lib/puzzle.rb, line 34
def blank_matrix
  arr = []
  9.times { arr << [nil] * 9 }
  arr
end