| 79 | |
| 80 | |
| 81 | def do_something(back_pointer, goal, start): |
| 82 | grid = np.char.chararray((n, n)) |
| 83 | for i in range(n): |
| 84 | for j in range(n): |
| 85 | grid[i][j] = "*" |
| 86 | |
| 87 | for i in range(n): |
| 88 | for j in range(n): |
| 89 | if (j, (n - 1) - i) in blocks: |
| 90 | grid[i][j] = "#" |
| 91 | |
| 92 | grid[0][(n - 1)] = "-" |
| 93 | x = back_pointer[goal] |
| 94 | while x != start: |
| 95 | (x_c, y_c) = x |
| 96 | # print(x) |
| 97 | grid[(n - 1) - y_c][x_c] = "-" |
| 98 | x = back_pointer[x] |
| 99 | grid[(n - 1)][0] = "-" |
| 100 | |
| 101 | for i in range(n): |
| 102 | for j in range(n): |
| 103 | if (i, j) == (0, n - 1): |
| 104 | print(grid[i][j], end=" ") |
| 105 | print("<-- End position", end=" ") |
| 106 | else: |
| 107 | print(grid[i][j], end=" ") |
| 108 | print() |
| 109 | print("^") |
| 110 | print("Start position") |
| 111 | print() |
| 112 | print("# is an obstacle") |
| 113 | print("- is the path taken by algorithm") |
| 114 | print("PATH TAKEN BY THE ALGORITHM IS:-") |
| 115 | x = back_pointer[goal] |
| 116 | while x != start: |
| 117 | print(x, end=" ") |
| 118 | x = back_pointer[x] |
| 119 | print(x) |
| 120 | sys.exit() |
| 121 | |
| 122 | |
| 123 | def valid(p: TPos): |