Esempio n. 1
0
def main():
    colorama.init()
    namespace = parse_args()
    file_names = sorted(
        glob.glob('resources/puzzles/*.txt')) if not namespace.cube \
        else sorted(glob.glob('resources/cube_puzzles/*.txt'))

    for filename in file_names:
        if namespace.cube:
            board = CubeGameBoard(filename)
            board.read_board()
            texture_factory = TextureFactory(board.boards)
            texture_factory.generate_textures()
            start(board.boards)
            continue
        board = GameBoard(filename)
        board.read_board()
        print(filename)
        solver = Solver(board)
        solver.backtrack()
        board.print_solution()
        if board.verify_solution():
            print('Solved')
        else:
            print('Not solved')
Esempio n. 2
0
 def test_no_solution_puzzle(self):
     board = GameBoard('tests/test_no_solution_puzzle.txt')
     board.read_board()
     solver = Solver(board)
     solver.backtrack()
     self.assertFalse(board.verify_solution())
Esempio n. 3
0
 def test_common_puzzle(self):
     board = GameBoard('tests/test_puzzle.txt')
     board.read_board()
     solver = Solver(board)
     solver.backtrack()
     self.assertEqual(board.solution, [[0, 1, 1], [0, 1, 1], [0, 2, 2]])