def str_maze_to_maze(str_maze, ui_n_rows, ui_n_columns): str_maze_as_lines = StructArray(str_maze.splitlines()) maze = Grafo() for i in range(len(str_maze_as_lines)): line = str_maze_as_lines[i] if i % 2 == 1: for j in range(len(line)): if j % 2 == 1: row = int((i - 1) / 2) column = int((j - 1) / 2) maze.add_node((row, column)) adjacents = obtain_adjacents_in_str_maze( str_maze_as_lines, i, j, ui_n_rows, ui_n_columns) for w in adjacents: maze.add_edge((row, column), w, True) return maze