help='Print to terminal') parser.add_argument('--png', metavar="FILE", help='Output maze as a PNG to FILE') args = parser.parse_args() if args.djikstra: grid = DistanceGrid(args.rows, args.cols) else: grid = grid.Grid(args.rows, args.cols) maze = None if args.algo == "tree": maze = BinaryTree().on(grid) elif args.algo == "sidewinder": maze = Sidewinder().on(grid) if args.djikstra: start = grid[grid.rows - 1, 0] distances = start.distances() maze.distances = distances if args.path: maze.distances = distances.path_to(grid[0, grid.columns - 1]) if args.ascii: print(maze.ascii()) if args.png: maze.to_png(args.png)