g = DistanceGrid(nRows, nColumns) Backtrack.create(g) g.compute_distances(g[0,0]) print g elif args.solution_grid: g = SolutionGrid(nRows, nColumns) Backtrack.create(g) g.solve(g[0,0], g[nRows-1, nColumns-1]) print g elif args.grid: g = Grid(nRows, nColumns) Backtrack.create(g) print g elif args.masked_grid: # m = Mask(nRows, nColumns) # m[0, 0] = False # m[1, 1] = False # m[2, 2] = False # m[3, 3] = False # m = Mask.from_image('maze_text.png') m = Mask.from_image('images/templates/circle.png') g = MaskedGrid(m) Backtrack.create(g) MazeDraw(g, "BT").draw() elif args.draw: g = SolutionGrid(nRows, nColumns) Backtrack.create(g) g.solve(g[0,0], g[nRows-1, nColumns-1]) MazeDraw(g, "Backtracking Method").draw()
"Draw an image of a maze where the maze is created from a mask specified in a B&W image file" ) mimg_rc_group = mimg_parser.add_argument_group() mimg_rc_group.add_argument('mask_img', type=file, help="Masked image") args = parser.parse_args() if args.subparser_name == "grid": g = Grid(args.r, args.c) algo_cb[args.algo](g) print g elif args.subparser_name == "distance-grid": g = DistanceGrid(args.r, args.c) algo_cb[args.algo](g) g.compute_distances(g[args.R, args.C]) print g elif args.subparser_name == "solution-grid": g = SolutionGrid(args.r, args.c) algo_cb[args.algo](g) g.solve(g[args.sr, args.sc], g[args.er, args.ec]) print g elif args.subparser_name == "masked-image": m = Mask.from_image(args.mask_img) g = MaskedGrid(m) Backtrack.create(g) MazeDraw(g, 'Maze ' + timestamp()).draw() elif args.subparser_name == "image": g = Grid(args.r, args.c) Backtrack.create(g) MazeDraw(g, 'Maze ' + timestamp()).draw()