0.0
No release in over 3 years
Low commit activity in last 3 years
Sudoku maker which can make 4x4, 9x9, 16x16, …, 100x100
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.6
~> 10.0
 Project Readme

SudokuMaker

SudokuMaker which can make sudoku 4x4, 9x9, 16x16, …, 100x100.

Installation

This project was cloned using the Cline AI assistant.

Add this line to your application's Gemfile:

# Added by Cline
gem 'sudoku_maker'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sudoku_maker

Usage

require "sudoku_maker"

SudokuMaker.make ARGS Int(4, 9, 16, 25, 36, 49, 64, 81, 100)

args is a block number (generally => 9)

args is only permited in (4, 9, 16, 25, 36, 49, 64, 81, 100)

return value is array

e.g. SudokumMaker.make 4 #=> [1, 3, 4, 2, 4, 2, 3, 1, 2, 4, 1, 3, 3, 1, 2, 4]

means

-----------------
| 1 | 3 | 4 | 2 |
-----------------
| 4 | 2 | 3 | 1 |
-----------------
| 2 | 4 | 1 | 3 |
-----------------
| 3 | 1 | 2 | 4 |
-----------------

サンプル

sample

README.mdにサンプルを追加する。

require "sudoku_maker"

# 9x9の数独を生成する
board = SudokuMaker.make 9
board.each_slice(9).each { |row| p row }

# 4x4の数独を生成する
board = SudokuMaker.make 4
board.each_slice(4).each { |row| p row }

Demo

require "sudoku_maker"

p SudokuMaker.make 9

#=> [4, 5, 7, 2, 6, 9, 1, 3, 8, 2, 6, 9, 8, 3, 1, 5, 4, 7, 3, 1, 8, 4, 5, 7, 9, 6, 2, 5, 7, 4, 6, 9, 2, 8, 1, 3, 1, 8, 3, 5, 7, 4, 2, 9, 6, 6, 9, 2, 3, 1, 8, 7, 5, 4, 8, 3, 1, 7, 4, 5, 6, 2, 9, 7, 4, 5, 9, 2, 6, 3, 8, 1, 9, 2, 6, 1, 8, 3, 4, 7, 5]

p SudokuMaker.Make 25

#=> [6, 7, 5, 8, 3, 16, 17, 11, 18, 20, 24, 25, 1, 22, 23, 2, 12, 10, 13, 14, 19, 4, 15, 21, 9, 9, 4, 19, 21, 15, 7, 8, 5, 3, 6, 18, 16, 11, 20, 17, 24, 25, 22, 1, 23, 10, 2, 13, 12, 14, 16, 11, 17, 18, 20, 1, 24, 23, 22, 25, 10, 13, 14, 12, 2, 19, 15, 21, 9, 4, 8, 5, 6, 3, 7, 13, 14, 2, 10, 12, 9, 19, 4, 21, 15, 8, 6, 7, 3, 5, 17, 20, 18, 16, 11, 24, 23, 25, 22, 1, 25, 1, 23, 24, 22, 13, 2, 14, 10, 12, 19, 15, 9, 21, 4, 5, 3, 8, 6, 7, 17, 11, 20, 18, 16, 15, 9, 4, 19, 21, 6, 5, 7, 8, 3, 17, 20, 16, 18, 11, 23, 22, 24, 25, 1, 2, 14, 12, 10, 13, 3, 6, 7, 5, 8, 20, 11, 16, 17, 18, 23, 22, 25, 24, 1, 14, 10, 2, 12, 13, 4, 9, 21, 19, 15, 22, 25, 1, 23, 24, 12, 14, 13, 2, 10, 4, 21, 15, 19, 9, 7, 8, 5, 3, 6, 11, 16, 18, 17, 20, 20, 16, 11, 17, 18, 25, 23, 1, 24, 22, 2, 12, 13, 10, 14, 4, 21, 19, 15, 9, 5, 7, 3, 8, 6, 12, 13, 14, 2, 10, 15, 4, 9, 19, 21, 5, 3, 6, 8, 7, 11, 18, 17, 20, 16, 23, 1, 22, 24, 25, 4, 19, 21, 15, 9, 5, 3, 8, 6, 7, 20, 11, 17, 16, 18, 22, 1, 25, 23, 24, 12, 10, 14, 13, 2, 7, 5, 8, 3, 6, 11, 18, 17, 20, 16, 22, 1, 23, 25, 24, 10, 13, 12, 14, 2, 21, 19, 9, 15, 4, 14, 2, 10, 12, 13, 4, 21, 19, 15, 9, 3, 7, 5, 6, 8, 18, 16, 20, 11, 17, 22, 24, 1, 25, 23, 11, 17, 18, 20, 16, 23, 22, 24, 25, 1, 12, 14, 2, 13, 10, 21, 9, 15, 4, 19, 3, 8, 7, 6, 5, 1, 23, 24, 22, 25, 14, 10, 2, 12, 13, 21, 9, 4, 15, 19, 8, 6, 3, 7, 5, 18, 17, 16, 20, 11, 18, 20, 16, 11, 17, 22, 1, 25, 23, 24, 14, 10, 12, 2, 13, 9, 19, 4, 21, 15, 7, 6, 8, 5, 3, 10, 12, 13, 14, 2, 21, 9, 15, 4, 19, 7, 8, 3, 5, 6, 16, 17, 11, 18, 20, 1, 25, 24, 23, 22, 8, 3, 6, 7, 5, 18, 16, 20, 11, 17, 1, 24, 22, 23, 25, 13, 2, 14, 10, 12, 9, 15, 19, 4, 21, 24, 22, 25, 1, 23, 10, 13, 12, 14, 2, 9, 19, 21, 4, 15, 6, 5, 7, 8, 3, 16, 20, 17, 11, 18, 21, 15, 9, 4, 19, 3, 7, 6, 5, 8, 11, 18, 20, 17, 16, 1, 24, 23, 22, 25, 14, 13, 10, 2, 12, 23, 24, 22, 25, 1, 2, 12, 10, 13, 14, 15, 4, 19, 9, 21, 3, 7, 6, 5, 8, 20, 18, 11, 16, 17, 5, 8, 3, 6, 7, 17, 20, 18, 16, 11, 25, 23, 24, 1, 22, 12, 14, 13, 2, 10, 15, 21, 4, 9, 19, 2, 10, 12, 13, 14, 19, 15, 21, 9, 4, 6, 5, 8, 7, 3, 20, 11, 16, 17, 18, 25, 22, 23, 1, 24, 17, 18, 20, 16, 11, 24, 25, 22, 1, 23, 13, 2, 10, 14, 12, 15, 4, 9, 19, 21, 6, 3, 5, 7, 8, 19, 21, 15, 9, 4, 8, 6, 3, 7, 5, 16, 17, 18, 11, 20, 25, 23, 1, 24, 22, 13, 12, 2, 14, 10]

Contributing

  1. Fork it ( https://github.com/hooor/sudoku_maker/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request