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)
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)