Пример #1
0
def to_print(grid, cors):
    g = grid.tolist()

    for c in cors:
        for x in c:
            grid[x[1]][x[0]] = 2
            g[x[1]][x[0]] = 2
    out = []
    for x in g:
        out.append("".join(str(n) for n in x).replace("0", " ").replace(
            "1", "X").replace("2", "o"))
    print("\n".join(out))


if __name__ == '__main__':
    from src.maze import Maze

    maze = Maze.from_image("test_maze_28.png")

    p = find_corridor_locs(maze)

    pts = merge(p)

    print(pts)
    for x in pts:
        print(x)
    print(len(pts))
    print(list(len(x) for x in pts))

    to_print(maze.grid, pts)
Пример #2
0
    for x in generator([startingbudget]):
        print(x)
        mdd = MDD.construct(maze, maze.agents[0].start,
                            maze.agents[0].waypoints, maze.agents[0].goal,
                            x[0], heuristic_data, [])
        c = 0
        for a in maze.agents[1:]:
            c += 1
            nmdd = MDD.construct(maze, a.start, a.waypoints, a.goal, x[c],
                                 heuristic_data, [])
            mdd = MDD.merge(mdd, nmdd, True)
        if mdd:

            c = list(mdd.g[-1])[0]

            p = [c]

            for x in range(len(mdd.p) - 1, -1, -1):
                p.append(mdd.p[x][p[-1]])
            p = [[n[0] for n in x] for x in p]
            p = list(zip(*p[::-1]))
            print(p)
            return p


if __name__ == '__main__':
    maze = Maze.from_image("test_maze_13.png")
    mdd = ICTS(maze)
    print(mdd)