before adding the solver

This commit is contained in:
Reza Behzadan 2020-06-01 04:24:48 +04:30
parent 8e279b4800
commit dccf9b3616
21 changed files with 323 additions and 2 deletions

View File

@ -7,3 +7,13 @@
7 0 0 0 0 0 0 3 0
0 0 1 2 3 0 8 6 0
0 0 0 0 0 0 2 0 1
2 3 4 7 6 5 1 9 8
1 8 7 9 4 2 6 5 3
9 5 6 3 8 1 7 2 4
4 7 8 5 2 3 9 1 6
6 2 5 1 9 8 3 4 7
3 1 9 4 7 6 5 8 2
7 6 2 8 1 9 4 3 5
5 4 1 2 3 7 8 6 9
8 9 3 6 5 4 2 7 1

19
boards/042.txt Normal file
View File

@ -0,0 +1,19 @@
9 2 6 0 0 0 0 0 1
0 5 0 0 0 0 0 2 0
0 0 0 4 9 0 0 0 7
0 6 0 0 4 0 0 1 0
2 0 0 0 0 7 0 0 0
0 4 5 0 3 0 7 0 0
0 0 0 0 0 4 0 0 9
0 9 3 0 0 0 5 0 0
0 0 0 0 0 0 8 0 6
9 2 6 3 7 5 4 8 1
7 5 4 1 6 8 9 2 3
8 3 1 4 9 2 6 5 7
3 6 7 8 4 9 2 1 5
2 8 9 5 1 7 3 6 4
1 4 5 2 3 6 7 9 8
5 7 8 6 2 4 1 3 9
6 9 3 7 8 1 5 4 2
4 1 2 9 5 3 8 7 6

19
boards/043.txt Normal file
View File

@ -0,0 +1,19 @@
0 0 0 0 7 0 0 0 6
0 6 0 4 0 9 0 8 7
0 1 0 8 0 0 0 0 9
0 0 0 0 0 0 4 0 0
0 0 0 1 0 4 6 0 0
0 0 4 0 5 0 0 0 0
3 8 0 5 0 0 0 0 0
0 0 0 0 0 2 0 7 0
9 0 6 0 0 0 5 0 2
4 9 8 2 7 1 3 5 6
2 6 5 4 3 9 1 8 7
7 1 3 8 6 5 2 4 9
6 5 9 7 8 3 4 2 1
8 3 7 1 2 4 6 9 5
1 2 4 9 5 6 7 3 8
3 8 2 5 1 7 9 6 4
5 4 1 6 9 2 8 7 3
9 7 6 3 4 8 5 1 2

19
boards/044.txt Normal file
View File

@ -0,0 +1,19 @@
5 8 4 0 2 3 0 7 0
0 0 0 8 0 0 0 0 4
0 0 0 0 0 4 0 0 8
3 0 6 7 0 0 0 4 0
4 0 0 0 3 0 0 0 9
0 1 0 0 0 9 3 0 5
2 0 0 5 0 0 0 0 0
6 0 0 0 0 2 0 0 0
0 4 0 9 7 0 6 2 3
5 8 4 1 2 3 9 7 6
1 6 3 8 9 7 2 5 4
9 2 7 6 5 4 1 3 8
3 9 6 7 1 5 8 4 2
4 5 8 2 3 6 7 1 9
7 1 2 4 8 9 3 6 5
2 3 1 5 6 8 4 9 7
6 7 9 3 4 2 5 8 1
8 4 5 9 7 1 6 2 3

19
boards/045.txt Normal file
View File

@ -0,0 +1,19 @@
0 6 0 0 0 0 9 5 8
0 0 0 0 0 0 0 0 7
0 0 0 3 0 0 2 0 0
0 0 0 0 0 5 3 0 0
7 0 0 0 0 6 0 0 0
8 0 4 0 1 0 6 0 0
1 0 0 0 0 0 0 0 3
5 9 0 0 7 0 0 0 6
0 2 0 0 0 0 4 0 0
3 6 2 1 4 7 9 5 8
4 8 5 6 9 2 1 3 7
9 7 1 3 5 8 2 6 4
2 1 6 7 8 5 3 4 9
7 3 9 4 2 6 5 8 1
8 5 4 9 1 3 6 7 2
1 4 8 5 6 9 7 2 3
5 9 3 2 7 4 8 1 6
6 2 7 8 3 1 4 9 5

19
boards/046.txt Normal file
View File

@ -0,0 +1,19 @@
8 9 0 0 0 2 0 4 0
5 0 0 0 0 0 0 0 3
0 0 0 0 0 1 0 5 0
0 0 5 6 0 0 0 9 0
0 0 2 0 0 0 5 0 0
0 4 0 0 0 0 0 0 8
0 0 1 0 4 0 2 0 9
7 0 0 8 0 0 0 0 6
0 0 0 3 0 0 0 0 0
8 9 7 5 3 2 6 4 1
5 1 6 4 7 8 9 2 3
2 3 4 9 6 1 8 5 7
1 7 5 6 8 4 3 9 2
6 8 2 1 9 3 5 7 4
9 4 3 2 5 7 1 6 8
3 5 1 7 4 6 2 8 9
7 2 9 8 1 5 4 3 6
4 6 8 3 2 9 7 1 5

19
boards/047.txt Normal file
View File

@ -0,0 +1,19 @@
0 0 0 0 0 1 8 0 7
4 0 0 0 0 5 0 2 0
0 0 0 0 2 0 0 5 9
0 3 0 0 0 0 2 1 4
1 0 0 4 3 7 0 0 6
6 4 5 0 0 0 0 8 0
5 2 0 0 6 0 0 0 0
0 1 0 7 0 0 0 0 2
7 0 6 2 0 0 0 0 0
2 5 3 6 9 1 8 4 7
4 6 9 8 7 5 3 2 1
8 7 1 3 2 4 6 5 9
9 3 7 5 8 6 2 1 4
1 8 2 4 3 7 5 9 6
6 4 5 9 1 2 7 8 3
5 2 4 1 6 3 9 7 8
3 1 8 7 5 9 4 6 2
7 9 6 2 4 8 1 3 5

19
boards/048.txt Normal file
View File

@ -0,0 +1,19 @@
8 0 0 6 1 0 0 0 0
0 2 7 0 0 0 4 0 6
0 1 6 0 7 0 8 0 0
0 3 0 0 6 5 2 0 0
0 0 0 0 9 0 0 0 0
0 0 4 8 2 0 0 5 0
0 0 1 0 8 0 6 4 0
4 0 9 0 0 0 7 8 0
0 0 0 0 4 6 0 0 9
8 4 3 6 1 2 9 7 5
9 2 7 5 3 8 4 1 6
5 1 6 4 7 9 8 2 3
1 3 8 7 6 5 2 9 4
2 7 5 3 9 4 1 6 8
6 9 4 8 2 1 3 5 7
3 5 1 9 8 7 6 4 2
4 6 9 2 5 3 7 8 1
7 8 2 1 4 6 5 3 9

19
boards/049.txt Normal file
View File

@ -0,0 +1,19 @@
0 1 0 6 0 0 0 7 3
9 0 0 0 0 0 0 0 4
0 4 0 2 0 0 0 0 0
0 7 0 0 0 8 4 0 0
0 0 4 0 0 0 6 0 0
3 0 0 0 0 0 0 1 0
7 0 6 0 1 0 2 0 0
8 0 0 0 0 3 0 0 5
0 0 0 0 0 9 0 0 0
2 1 8 6 9 4 5 7 3
9 6 7 3 5 1 8 2 4
5 4 3 2 8 7 1 9 6
6 7 9 1 3 8 4 5 2
1 5 4 9 7 2 6 3 8
3 8 2 5 4 6 9 1 7
7 3 6 8 1 5 2 4 9
8 9 1 4 2 3 7 6 5
4 2 5 7 6 9 3 8 1

19
boards/050.txt Normal file
View File

@ -0,0 +1,19 @@
0 4 0 0 7 2 1 0 8
0 0 0 3 0 6 5 4 0
0 0 0 0 0 4 0 0 3
0 0 0 0 8 0 0 5 6
0 0 7 0 9 0 4 0 0
4 8 0 0 2 0 0 0 0
7 0 0 5 0 0 0 0 0
0 6 4 2 0 9 0 0 0
8 0 5 7 6 0 0 2 0
5 4 3 9 7 2 1 6 8
9 7 8 3 1 6 5 4 2
6 2 1 8 5 4 7 9 3
3 1 9 4 8 7 2 5 6
2 5 7 6 9 3 4 8 1
4 8 6 1 2 5 9 3 7
7 3 2 5 4 8 6 1 9
1 6 4 2 3 9 8 7 5
8 9 5 7 6 1 3 2 4

19
boards/051.txt Normal file
View File

@ -0,0 +1,19 @@
3 4 0 0 0 0 7 6 0
2 0 0 0 0 0 0 0 0
5 0 1 7 0 6 0 0 8
0 0 0 2 6 0 0 0 0
0 0 0 0 0 9 0 4 0
0 0 7 0 0 0 0 0 0
0 0 0 0 0 8 0 0 0
6 0 0 0 0 0 0 5 1
0 0 0 0 4 3 9 2 0
3 4 8 5 9 1 7 6 2
2 7 6 8 3 4 1 9 5
5 9 1 7 2 6 4 3 8
4 1 3 2 6 7 5 8 9
8 5 2 3 1 9 6 4 7
9 6 7 4 8 5 2 1 3
1 2 9 6 5 8 3 7 4
6 3 4 9 7 2 8 5 1
7 8 5 1 4 3 9 2 6

19
boards/052.txt Normal file
View File

@ -0,0 +1,19 @@
0 6 0 0 0 0 5 9 3
0 0 0 0 0 0 0 0 4
0 0 0 7 0 0 2 0 0
0 0 0 0 0 9 7 0 0
4 0 0 0 0 6 0 0 0
3 0 8 0 1 0 6 0 0
1 0 0 0 0 0 0 0 7
9 5 0 0 4 0 0 0 6
0 2 0 0 0 0 8 0 0
7 6 2 1 8 4 5 9 3
8 3 9 6 5 2 1 7 4
5 4 1 7 9 3 2 6 8
2 1 6 4 3 9 7 8 5
4 7 5 8 2 6 9 3 1
3 9 8 5 1 7 6 4 2
1 8 3 9 6 5 4 2 7
9 5 7 2 4 8 3 1 6
6 2 4 3 7 1 8 5 9

19
boards/053.txt Normal file
View File

@ -0,0 +1,19 @@
0 0 0 0 5 8 0 0 4
8 0 7 0 0 0 1 3 0
0 0 4 0 1 0 8 5 0
0 0 3 2 8 0 0 9 0
0 0 0 0 6 0 0 0 0
0 2 0 0 3 4 7 0 0
0 7 8 0 4 0 5 0 0
0 4 1 0 0 0 6 0 7
6 0 0 8 7 0 0 0 0
2 1 6 3 5 8 9 7 4
8 5 7 4 9 2 1 3 6
9 3 4 6 1 7 8 5 2
7 6 3 2 8 1 4 9 5
4 8 5 7 6 9 2 1 3
1 2 9 5 3 4 7 6 8
3 7 8 1 4 6 5 2 9
5 4 1 9 2 3 6 8 7
6 9 2 8 7 5 3 4 1

19
boards/054.txt Normal file
View File

@ -0,0 +1,19 @@
0 3 6 0 7 8 0 0 1
7 0 0 5 0 0 0 0 4
0 0 0 0 0 3 0 0 7
9 0 1 0 0 2 0 4 0
2 0 0 0 8 0 0 0 6
0 6 0 9 0 0 7 0 8
3 0 0 8 0 0 0 0 0
6 0 0 0 0 7 0 0 2
8 0 0 1 9 0 4 7 0
4 3 6 2 7 8 9 5 1
7 2 8 5 1 9 6 3 4
1 9 5 6 4 3 2 8 7
9 8 1 7 6 2 3 4 5
2 7 3 4 8 5 1 9 6
5 6 4 9 3 1 7 2 8
3 1 7 8 2 4 5 6 9
6 4 9 3 5 7 8 1 2
8 5 2 1 9 6 4 7 3

19
boards/055.txt Normal file
View File

@ -0,0 +1,19 @@
0 8 0 0 0 2 4 5 0
9 0 3 4 0 0 0 0 0
0 0 0 0 3 0 1 0 0
1 0 6 0 0 0 0 0 0
0 0 0 0 0 0 9 0 0
0 0 0 5 0 0 0 2 8
0 0 0 3 1 0 6 0 0
4 0 0 0 0 9 0 0 0
2 3 0 0 0 0 0 7 0
6 8 7 1 9 2 4 5 3
9 1 3 4 7 5 2 8 6
5 4 2 8 3 6 1 9 7
1 2 6 9 8 7 5 3 4
8 7 5 2 4 3 9 6 1
3 9 4 5 6 1 7 2 8
7 5 9 3 1 8 6 4 2
4 6 8 7 2 9 3 1 5
2 3 1 6 5 4 8 7 9

19
boards/056.txt Normal file
View File

@ -0,0 +1,19 @@
8 2 0 0 0 0 7 0 3
7 0 0 5 4 0 1 0 0
5 6 0 0 0 7 0 0 0
0 0 3 0 0 0 0 0 0
0 0 0 0 5 0 0 0 9
0 0 0 4 0 1 0 0 0
9 0 0 0 0 0 0 2 0
0 0 7 8 2 0 3 1 0
0 0 0 0 0 0 8 0 7
8 2 4 9 1 6 7 5 3
7 3 9 5 4 8 1 6 2
5 6 1 2 3 7 9 8 4
4 9 3 6 8 2 5 7 1
1 8 6 7 5 3 2 4 9
2 7 5 4 9 1 6 3 8
9 1 8 3 7 5 4 2 6
6 4 7 8 2 9 3 1 5
3 5 2 1 6 4 8 9 7

9
boards/057.txt Normal file
View File

@ -0,0 +1,9 @@
0 6 0 0 0 0 0 0 9
0 0 0 0 0 3 5 8 0
0 4 5 6 0 0 1 7 0
0 0 0 9 0 0 0 0 1
6 0 9 8 4 1 7 0 5
1 0 0 0 0 2 0 0 0
0 7 1 0 0 8 9 6 0
0 9 6 2 0 0 0 0 0
4 0 0 0 0 0 0 1 0

View File

@ -1,6 +1,6 @@
return {
board = {
filePath = "boards/005.txt",
filePath = "boards/057.txt",
},
window = {
bgColor = "FFFFFF",

View File

@ -13,7 +13,7 @@ function love.load()
math.randomseed(os.time())
board = sudoku.loadBoard(config.board.filePath)
local width, height = love.graphics.getDimensions()
sudokuCanvas = SudokuCanvas:new(200, 100, height/1.5, config.SudokuCanvas)
sudokuCanvas = SudokuCanvas:new(500, 50, height/1.1, config.SudokuCanvas)
sudokuCanvas:setBoard(board[1])
myFont = love.graphics.newFont(24)
end

View File

@ -74,6 +74,20 @@ function loadBoard(fn)
return boards
end
function saveBoard(fn, b1, b2)
local f = io.open(fn, "w")
for row = 1, 9 do
f:write(table.concat(b1[row], " "))
f:write("\n")
end
f:write("\n")
for row = 1, 9 do
f:write(table.concat(b2[row], " "))
f:write("\n")
end
f:close()
end
function showBoard(board)
for row = 1, 9 do
print(table.concat(board[row], " "))
@ -551,4 +565,5 @@ return {
applyFillSinglesRepeatedly = applyFillSinglesRepeatedly,
showBoard = showBoard,
checkBoardsEqual = checkBoardsEqual,
saveBoard = saveBoard,
}

View File

@ -431,6 +431,8 @@ function SudokuCanvas:keypressed(key)
applyAllSingles(self)
elseif key == "u" then
undo(self)
elseif key == "f" then
sudoku.saveBoard("lastBoard.txt", self.board[1], self.board[2])
end
self.cursor.x = x
self.cursor.y = y