"""generate_weighted_choice.py - создаёт лабиринт, где Dijkstra/A* реально обходят 'болото' и находят более дешёвый путь, чем BFS.""" W, H = 21, 13 grid = [[' '] * W for _ in range(H)] # периметр for x in range(W): grid[0][x] = '#'; grid[H-1][x] = '#' for y in range(H): grid[y][0] = '#'; grid[y][W-1] = '#' # центральное болото 5х5 (вес 3) for y in range(4, 9): for x in range(8, 13): grid[y][x] = '~' # старт слева в центре, выход справа в центре grid[H//2][1] = 'S' grid[H//2][W-2] = 'E' with open('mazes/weighted_choice.txt','w') as f: f.write('\n'.join(''.join(row) for row in grid) + '\n') print(open('mazes/weighted_choice.txt').read())