class Sudoku::Sn
Sudoku
générique
Attributes
base[R]
length[R]
size[R]
Public Class Methods
new(base=3)
click to toggle source
# File lib/sudoku.rb, line 54 def initialize base=3 @base = base.to_i @size = @base*@base @length = @size*@size @grid = Array.new(@size) do |i| Array.new(@size){|j| 0} end end
Public Instance Methods
each() { |x, y, grid[y]| ... }
click to toggle source
Parcourt tout le sudoku
@yield [x, y, val] la position et la valeur courante @return (self)
# File lib/sudoku.rb, line 84 def each @size.times do |y| @size.times do |x| yield x, y, @grid[x][y] end end self end
get(x, y)
click to toggle source
Renvoie la valeur en x,y
@return (Fixnum)
# File lib/sudoku.rb, line 74 def get x, y if x<0 || x>=size || y<0 || y>=size raise ArgumentError, "Is there a #{x},#{y} cell in a #{size}x#{size} sudoku ?" end @grid[x][y] end
set(x, y, val)
click to toggle source
Renvoie le coté du Sudoku
@return (Fixnum)
# File lib/sudoku.rb, line 65 def set x, y, val if x<0 || x>=size || y<0 || y>=size || val<0 || val > size raise ArgumentError, "#{x},#{y} => #{val} is impossible in a #{size}x#{size} sudoku" end @grid[x][y] = val end