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