forked from UNN/2026-rff_mp
20 lines
797 B
Python
20 lines
797 B
Python
"""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())
|