https://github.com/dyzio18/sudoku_ruby
Sudoku class in Ruby
https://github.com/dyzio18/sudoku_ruby
Last synced: 5 months ago
JSON representation
Sudoku class in Ruby
- Host: GitHub
- URL: https://github.com/dyzio18/sudoku_ruby
- Owner: Dyzio18
- Created: 2017-05-27T16:27:51.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-27T20:08:47.000Z (over 8 years ago)
- Last Synced: 2024-12-26T23:26:34.494Z (9 months ago)
- Language: Ruby
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sudoku_ruby
Sudoku class in Ruby## sudoku.rb
### example:
Create sudoku ( arr[N][N] , default: size = 3 )
```
small_sudoku = [
[4,3,2,1],
[2,1,4,3],
[1,2,3,4],
[3,4,1,2]
]normal_sudoku = [
[nil, 9, 5, 7, 4, 3, 8, 6, 1],
[4, 3, 1, 8, 6, 5, 9, 2, 7],
[8, 7, 6, 1, 9, 2, 5, 4, 3],
[3, 8, 7, 4, 5, 9, 2, 1, 6],
[6, 1, 2, 3, 8, 7, 4, 9, 5],
[5, 4, 9, 2, 1, 6, 7, 3, 8],
[7, 6, 3, 5, 2, 4, 1, 8, 9],
[9, 2, 8, 6, 7, 1, 3, 5, 4],
[1, 5, 4, 9, 3, 8, 6, 7, 2]
]sudoku_1 = Sudoku.new(normal_sudoku)
sudoku_2 = Sudoku.new(small_sudoku, 2)```
Print board:
```
sudoku_1.prints
```
output:
```
| 9 5 | 7 4 3 | 8 6 1 |
| 4 3 1 | 8 6 5 | 9 2 7 |
| 8 7 6 | 1 9 2 | 5 4 3 |
-------------------------
| 3 8 7 | 4 5 9 | 2 1 6 |
| 6 1 2 | 3 8 7 | 4 9 5 |
| 5 4 9 | 2 1 6 | 7 3 8 |
-------------------------
| 7 6 3 | 5 2 4 | 1 8 9 |
| 9 2 8 | 6 7 1 | 3 5 4 |
| 1 5 4 | 9 3 8 | 6 7 2 |
-------------------------
```
Set value in board:
```
sudoku_1.set(0,0,2)
```Check correct solve:
```
sudoku_1.solve?
```
output:
```
puts sudoku_1.solve? #=> false/true
```## test.rb
#### run
```
ruby test.rb
```
output:
```
test_solve: correct
test_solve: correct
test_solve: correct
test_solve: correct
test_set: correct
Set error, wrong coordinates!
test_set: correct
Set error, wrong coordinates!
test_set: correct
Print test:
| 2 9 5 | 7 4 3 | 8 6 1 |
| 4 3 1 | 8 6 5 | 9 2 7 |
| 8 7 6 | 1 9 2 | 5 4 3 |
-------------------------
| 3 8 7 | 4 5 9 | 2 1 6 |
| 6 1 2 | 3 8 7 | 4 9 5 |
| 5 4 9 | 2 1 6 | 7 3 8 |
-------------------------
| 7 6 3 | 5 2 4 | 1 8 9 |
| 9 2 8 | 6 7 1 | 3 5 4 |
| 1 5 4 | 9 3 8 | 6 7 2 |
-------------------------
Print test:
| 4 3 | 2 1 |
| 2 1 | 4 3 |
-------------
| 1 2 | 3 4 |
| 3 4 | 1 2 |
-------------
```