From dccf9b3616fc94411e47d2e2cffd59a9f7020a9b Mon Sep 17 00:00:00 2001 From: Reza Behzadan Date: Mon, 1 Jun 2020 04:24:48 +0430 Subject: [PATCH] before adding the solver --- boards/040.txt | 10 ++++++++++ boards/042.txt | 19 +++++++++++++++++++ boards/043.txt | 19 +++++++++++++++++++ boards/044.txt | 19 +++++++++++++++++++ boards/045.txt | 19 +++++++++++++++++++ boards/046.txt | 19 +++++++++++++++++++ boards/047.txt | 19 +++++++++++++++++++ boards/048.txt | 19 +++++++++++++++++++ boards/049.txt | 19 +++++++++++++++++++ boards/050.txt | 19 +++++++++++++++++++ boards/051.txt | 19 +++++++++++++++++++ boards/052.txt | 19 +++++++++++++++++++ boards/053.txt | 19 +++++++++++++++++++ boards/054.txt | 19 +++++++++++++++++++ boards/055.txt | 19 +++++++++++++++++++ boards/056.txt | 19 +++++++++++++++++++ boards/057.txt | 9 +++++++++ config.lua | 2 +- main.lua | 2 +- sudoku/sudoku.lua | 15 +++++++++++++++ ui/sudokucanvas.lua | 2 ++ 21 files changed, 323 insertions(+), 2 deletions(-) create mode 100644 boards/042.txt create mode 100644 boards/043.txt create mode 100644 boards/044.txt create mode 100644 boards/045.txt create mode 100644 boards/046.txt create mode 100644 boards/047.txt create mode 100644 boards/048.txt create mode 100644 boards/049.txt create mode 100644 boards/050.txt create mode 100644 boards/051.txt create mode 100644 boards/052.txt create mode 100644 boards/053.txt create mode 100644 boards/054.txt create mode 100644 boards/055.txt create mode 100644 boards/056.txt create mode 100644 boards/057.txt diff --git a/boards/040.txt b/boards/040.txt index ce43027..401fa20 100644 --- a/boards/040.txt +++ b/boards/040.txt @@ -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 diff --git a/boards/042.txt b/boards/042.txt new file mode 100644 index 0000000..61eb2dd --- /dev/null +++ b/boards/042.txt @@ -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 diff --git a/boards/043.txt b/boards/043.txt new file mode 100644 index 0000000..663da00 --- /dev/null +++ b/boards/043.txt @@ -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 diff --git a/boards/044.txt b/boards/044.txt new file mode 100644 index 0000000..2b0d3b0 --- /dev/null +++ b/boards/044.txt @@ -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 diff --git a/boards/045.txt b/boards/045.txt new file mode 100644 index 0000000..8dbf8fd --- /dev/null +++ b/boards/045.txt @@ -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 diff --git a/boards/046.txt b/boards/046.txt new file mode 100644 index 0000000..0630204 --- /dev/null +++ b/boards/046.txt @@ -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 diff --git a/boards/047.txt b/boards/047.txt new file mode 100644 index 0000000..d2400c9 --- /dev/null +++ b/boards/047.txt @@ -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 diff --git a/boards/048.txt b/boards/048.txt new file mode 100644 index 0000000..ccceb20 --- /dev/null +++ b/boards/048.txt @@ -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 diff --git a/boards/049.txt b/boards/049.txt new file mode 100644 index 0000000..7b574c6 --- /dev/null +++ b/boards/049.txt @@ -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 diff --git a/boards/050.txt b/boards/050.txt new file mode 100644 index 0000000..796f170 --- /dev/null +++ b/boards/050.txt @@ -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 diff --git a/boards/051.txt b/boards/051.txt new file mode 100644 index 0000000..f1f26dc --- /dev/null +++ b/boards/051.txt @@ -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 diff --git a/boards/052.txt b/boards/052.txt new file mode 100644 index 0000000..06faa70 --- /dev/null +++ b/boards/052.txt @@ -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 diff --git a/boards/053.txt b/boards/053.txt new file mode 100644 index 0000000..e69d630 --- /dev/null +++ b/boards/053.txt @@ -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 diff --git a/boards/054.txt b/boards/054.txt new file mode 100644 index 0000000..afba5fd --- /dev/null +++ b/boards/054.txt @@ -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 diff --git a/boards/055.txt b/boards/055.txt new file mode 100644 index 0000000..efa09a6 --- /dev/null +++ b/boards/055.txt @@ -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 diff --git a/boards/056.txt b/boards/056.txt new file mode 100644 index 0000000..69357e5 --- /dev/null +++ b/boards/056.txt @@ -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 diff --git a/boards/057.txt b/boards/057.txt new file mode 100644 index 0000000..dbaeb8f --- /dev/null +++ b/boards/057.txt @@ -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 diff --git a/config.lua b/config.lua index 67b9696..886a597 100644 --- a/config.lua +++ b/config.lua @@ -1,6 +1,6 @@ return { board = { - filePath = "boards/005.txt", + filePath = "boards/057.txt", }, window = { bgColor = "FFFFFF", diff --git a/main.lua b/main.lua index c9a0d5b..fc019c3 100644 --- a/main.lua +++ b/main.lua @@ -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 diff --git a/sudoku/sudoku.lua b/sudoku/sudoku.lua index c8ba73f..fcbdb85 100644 --- a/sudoku/sudoku.lua +++ b/sudoku/sudoku.lua @@ -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, } diff --git a/ui/sudokucanvas.lua b/ui/sudokucanvas.lua index 1d5a567..4dbdf88 100644 --- a/ui/sudokucanvas.lua +++ b/ui/sudokucanvas.lua @@ -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