Example #1
0
        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()

Example #2
0
        "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()