def create_board_5(): matrix = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 1, 0, 0, 2], [5, 0, 0, 0, 0]] constraints = [ Constraint(4, 4, 3, 4), ] return BoardFutoshiki(matrix, constraints)
def get_boards(folder_name): boards = [] for filename in listdir(getcwd() + '/' + folder_name + '/'): if 'futoshiki' in folder_name: problem = read_futoshiki_problem(filename=filename, prefix=getcwd() + '/' + folder_name + '/') board = BoardFutoshiki(matrix=problem['matrix'], constraints=problem['constraints'], name=problem['name']) boards.append(board) elif 'skyscrapper' in folder_name: problem = read_skyscrapper_problem(filename=filename, prefix=getcwd() + '/' + folder_name + '/') board = BoardSkyscrapper(N=problem['N'], constraints=problem['constraints'], name=problem['name']) boards.append(board) else: print('WARNING! there is no such game') return boards
def test_for_futoshiki_file(filename): print(filename) problem = read_futoshiki_problem(filename, prefix) board = BoardFutoshiki(problem['matrix'], problem['constraints']) solver = Solver(board) results = solver.solve() print(' number of results: ' + str(len(results))) for result in results: print(result) if not check_if_unique(results): global uniqueq unique = False
def test_result_of_solving_futoshiki_4_1(self): problem = read_futoshiki_problem('futoshiki_4_1.txt') board = BoardFutoshiki(matrix=problem['matrix'], constraints=problem['constraints']) solver = Solver(board) results = solver.solve()
def test_solving_futoshiki_4_2_doesnt_crash_program(self): problem = read_futoshiki_problem('futoshiki_4_2.txt') board = BoardFutoshiki(matrix=problem['matrix'], constraints=problem['constraints']) # print(board.matrix) solver = Solver(board) results = solver.solve()
def create_simple_board(): matrix = [[1, 0], [0, 0]] return BoardFutoshiki(matrix, [])
def create_board_3(): matrix = [[2, 0, 0], [0, 0, 0], [0, 0, 0]] constraints = [Constraint(0, 0, 1, 0)] return BoardFutoshiki(matrix, constraints)
def test_board_checks_win_condition(self): matrix = create_expected_result_matrix() solved_board = BoardFutoshiki(matrix=matrix, constraints=[]) unsolved_board = create_board() self.assertFalse(unsolved_board.win_check()) self.assertTrue(solved_board.win_check())