import nonograms.loader as jx_loader from solver import Solver file_name = 'nonograms/test_set/winter.jx' # default if __name__ == "__main__": import sys if len(sys.argv) > 1: file_name = sys.argv[1] conditions = jx_loader.load_nonogram(file_name) sl = Solver(conditions) if -1 == sl.find_next_solution(): print('Invalid conditions') else: print(sl)
dx + (j + 1) * mini_scale, dy + (i + 1) * mini_scale, tags='solution', fill='black') def solve(sl: solver.Solver): """These will run on separate thread""" global solution s = 0 while s != -1: s = sl.find_next_solution() if s != -1: print('Solution#', s) solution = sl.get_grid() print('end') cross = solver.Solver(jx_loader.load_nonogram(file_name)) # type: solver.Solver run_flag = threading.Event() cross.run_flag = run_flag # internal break cross.speed = solver_sleep_time cross.clicking = True # Activate slowdown solution = cross.get_grid() # Init miniature root = tk.Tk() root.title("Nonogram solver") root.geometry('500x500') app = App(root, cross) t = threading.Thread(target=solve, args=(cross,)) t.start()