Add File checking

master
En Yi 2018-07-20 13:43:20 +08:00
parent b019aa2f28
commit f5a3757368
5 changed files with 28 additions and 45 deletions

View File

@ -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()

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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):