Add File checking
parent
b019aa2f28
commit
f5a3757368
|
@ -1,3 +1,4 @@
|
||||||
|
import os
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from . import Sudoku_Generator as sdk_gen
|
from . import Sudoku_Generator as sdk_gen
|
||||||
|
|
||||||
|
@ -108,20 +109,25 @@ class SudokuSystem:
|
||||||
|
|
||||||
self.offending_cells[row][col] = bad_cells
|
self.offending_cells[row][col] = bad_cells
|
||||||
|
|
||||||
def generate_test_board(self):
|
def generate_test_board(self, difficulty):
|
||||||
with open(test_dir, 'r') as f:
|
try:
|
||||||
lines = f.readlines()
|
with open(test_dir, 'r') as f:
|
||||||
|
lines = f.readlines()
|
||||||
|
|
||||||
values = []
|
values = []
|
||||||
for line in lines:
|
for line in lines:
|
||||||
values.append([int(val) for val in line.strip('\n').split(',')])
|
values.append([int(val) for val in line.strip('\n').split(',')])
|
||||||
|
|
||||||
self.number_grid[:] = values
|
self.number_grid[:] = values
|
||||||
self.cell_status[:] = FIXED
|
self.cell_status[:] = FIXED
|
||||||
row, col = np.where(self.number_grid == 0)
|
row, col = np.where(self.number_grid == 0)
|
||||||
|
|
||||||
for r, c in zip(row, col):
|
for r, c in zip(row, col):
|
||||||
self.cell_status[r, c] = EMPTY
|
self.cell_status[r, c] = EMPTY
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
print('Something went wrong loading the test file. Generating a random board instead')
|
||||||
|
self.generate_random_board(difficulty)
|
||||||
|
|
||||||
def generate_random_board(self, difficulty):
|
def generate_random_board(self, difficulty):
|
||||||
self.clear_grid()
|
self.clear_grid()
|
||||||
|
|
|
@ -6,4 +6,4 @@
|
||||||
8,9,1,2,3,4,5,6,7
|
8,9,1,2,3,4,5,6,7
|
||||||
3,4,5,6,7,8,9,1,2
|
3,4,5,6,7,8,9,1,2
|
||||||
6,7,8,9,1,2,3,4,5
|
6,7,8,9,1,2,3,4,5
|
||||||
9,1,2,3,4,5,6,7,0
|
9,1,2,3,4,5,6,7,
|
|
@ -1,29 +0,0 @@
|
||||||
A,01:00:0
|
|
||||||
B,02:00:0
|
|
||||||
C,03:00:0
|
|
||||||
D,04:00:0
|
|
||||||
E,05:00:0
|
|
||||||
---
|
|
||||||
AA,02:00:0
|
|
||||||
BB,04:00:0
|
|
||||||
CC,06:00:0
|
|
||||||
DD,08:00:0
|
|
||||||
EE,10:00:0
|
|
||||||
---
|
|
||||||
AAA,03:00:0
|
|
||||||
BBB,06:00:0
|
|
||||||
CCC,09:00:0
|
|
||||||
DDD,12:00:0
|
|
||||||
EEE,15:00:0
|
|
||||||
---
|
|
||||||
AAAA,04:00:0
|
|
||||||
BBBB,08:00:0
|
|
||||||
CCCC,12:00:0
|
|
||||||
DDDD,16:00:0
|
|
||||||
EEEE,20:00:0
|
|
||||||
---
|
|
||||||
AAAAA,05:00:0
|
|
||||||
BBBBB,10:00:0
|
|
||||||
CCCCC,15:00:0
|
|
||||||
DDDDD,20:00:0
|
|
||||||
EEEEE,25:00:0
|
|
|
@ -1,18 +1,24 @@
|
||||||
import random
|
import random
|
||||||
import sys
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
from PyQt5.Qt import QApplication
|
from PyQt5.Qt import QApplication
|
||||||
from PyQt5.QtCore import (QAbstractAnimation, Qt, QPropertyAnimation, pyqtProperty, pyqtSignal, QTimer)
|
from PyQt5.QtCore import (QAbstractAnimation, Qt, QPropertyAnimation, pyqtProperty, pyqtSignal, QTimer)
|
||||||
from PyQt5.QtWidgets import (QWidget, QLineEdit, QHBoxLayout, QGridLayout, QVBoxLayout, QPushButton, QLabel)
|
from PyQt5.QtWidgets import (QWidget, QLineEdit, QHBoxLayout, QGridLayout, QVBoxLayout, QPushButton, QLabel)
|
||||||
|
|
||||||
if not __name__ == "__main__":
|
if not __name__ == "__main__":
|
||||||
sys.path.append("~/PycharmProjects/sudoku")
|
current_dir = os.getcwd()
|
||||||
hs_file = "/home/eyt21/PycharmProjects/sudoku/general/highscore.txt"
|
sys.path.append(current_dir)
|
||||||
|
hs_file = current_dir + "/general/highscore.txt"
|
||||||
else:
|
else:
|
||||||
hs_file = "./sudoku/general/highscore.txt"
|
hs_file = "./sudoku/general/highscore.txt"
|
||||||
|
|
||||||
from general import highscore as hs
|
from general import highscore as hs
|
||||||
|
|
||||||
|
if not os.path.exists(hs_file):
|
||||||
|
print('Missing High Score file. Generating one. ')
|
||||||
|
hs.generate_highscore_file(hs_file)
|
||||||
|
|
||||||
BACKWARD = 1
|
BACKWARD = 1
|
||||||
FORWARD = -1
|
FORWARD = -1
|
||||||
|
|
||||||
|
|
|
@ -147,8 +147,8 @@ class SudokuGrid(BaseSudokuItem):
|
||||||
self.anim.start()
|
self.anim.start()
|
||||||
|
|
||||||
def generate_new_grid(self, difficulty):
|
def generate_new_grid(self, difficulty):
|
||||||
self.sudoku_grid.generate_random_board(difficulty)
|
#self.sudoku_grid.generate_random_board(difficulty)
|
||||||
#self.sudoku_grid.generate_test_board()
|
self.sudoku_grid.generate_test_board(difficulty)
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
def replace_cell_number(self, val):
|
def replace_cell_number(self, val):
|
||||||
|
|
Loading…
Reference in New Issue