Skip to content

Commit aad7456

Browse files
committed
just before solve sudoku
1 parent e891567 commit aad7456

File tree

5 files changed

+110
-83
lines changed

5 files changed

+110
-83
lines changed

components/fiveThread.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def loadIsDone(self):
5252
self.gui.setInfo("Sample sudoku is loaded successfully!")
5353
self.gui.clearButton.setEnabled(True)
5454
self.gui.solveButton.setEnabled(True)
55+
self.gui.setInfo("Ready to solve with 5 thread!")
5556

5657
def setNumberToGui(self, i, j, empty):
5758
if not empty:
@@ -64,4 +65,7 @@ def setNumberToGui(self, i, j, empty):
6465
def setInfo(self, msg):
6566
self.gui.logScreen.insertPlainText(
6667
"5 Threading: {}\n".format(msg))
67-
self.logScreen.ensureCursorVisible()
68+
self.gui.logScreen.ensureCursorVisible()
69+
70+
def solveSudoku(self):
71+
self.setInfo("Starting to solve..")

components/samuraiSudoku.py

+22
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ class SamuraiSudoku(QMainWindow, Ui_MainWindow):
1717
def __init__(self):
1818
super().__init__()
1919
self.setupUi(self)
20+
self.threadCount = None
2021
self.loadButton.clicked.connect(self.chooseFile)
2122
self.clearButton.clicked.connect(self.clearCells)
23+
self.solveButton.clicked.connect(self.solveSudoku)
2224

2325
def chooseFile(self):
2426
self.filePath, self.filetype = QFileDialog.getOpenFileName(
@@ -88,9 +90,11 @@ def setInfo(self, msg):
8890
def startLoad(self):
8991
if self.threadRadioButton5.isChecked():
9092
self.fiveThreadObject = FiveThreadOptions(self)
93+
self.threadCount = 5
9194
self.fiveThreadObject.loadCells()
9295
else:
9396
self.tenThreadObject = TenThreadOptions(self)
97+
self.threadCount = 10
9498
self.tenThreadObject.loadCells()
9599

96100
def clearCells(self):
@@ -108,6 +112,24 @@ def clearCell(self, i, j):
108112
def clearCellIsDone(self):
109113
self.setInfo("Sample sudoku is cleared successfully!")
110114

115+
def solveSudoku(self):
116+
self.setClickables(False)
117+
if self.threadCount == 5:
118+
self.fiveThreadObject.solveSudoku()
119+
elif self.threadCount == 10:
120+
pass
121+
else:
122+
self.setInfo("Unknow Error!")
123+
124+
def setClickables(self, status):
125+
self.solveButton.setEnabled(status)
126+
self.loadButton.setEnabled(status)
127+
self.clearButton.setEnabled(status)
128+
self.threadRadioButton5.setEnabled(status)
129+
self.threadRadioButton10.setEnabled(status)
130+
131+
def setEnabledTrue(self):
132+
111133

112134
class ClearCellWorker(QThread):
113135
clearCell = pyqtSignal(int, int)

components/tenThread.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ def loadIsDone(self):
5050
self.gui.setInfo("Sample sudoku is loaded successfully!")
5151
self.gui.clearButton.setEnabled(True)
5252
self.gui.solveButton.setEnabled(True)
53+
self.gui.setInfo("Ready to solve with 10 thread!")
5354

5455
def setNumberToGui(self, i, j, empty):
5556
if not empty:
@@ -62,4 +63,4 @@ def setNumberToGui(self, i, j, empty):
6263
def setInfo(self, msg):
6364
self.gui.logScreen.insertPlainText(
6465
"10 Threading: {}\n".format(msg))
65-
self.logScreen.ensureCursorVisible()
66+
self.gui.logScreen.ensureCursorVisible()

docs/project.pdf

158 KB
Binary file not shown.

0 commit comments

Comments
 (0)