我想通过使用坐标作为输入来为我的迷宫添加墙壁。
我有一个看起来像这样的迷宫:
|......|
|......|
|......|
|......|
|......|
我希望以*的形式添加墙壁:
|......|
|......|
|....*.|
|....*.|
|....*.|
我通过使用两个for循环(〜矩阵)制作了这个迷宫。
当我在坐标x,y?
中询问起始位置和结束位置时,我该怎么做?我已经尝试了几次,但我似乎无法找到解决方案......
感谢您的帮助
答案 0 :(得分:0)
假设您的迷宫是一系列字符列表。例如,您创建了它:
>>> maze_width, maze_height = 5, 7
>>> my_maze = [list('|'+'.'*maze_width+'|') for _ in range(maze_height)]
要打印迷宫,您可以将列表加入:
>>> print '\n'.join(''.join(sub_maze) for sub_maze in my_maze)
|.....|
|.....|
|.....|
|.....|
|.....|
|.....|
|.....|
如您所述,为了创建边界,您需要根据索引替换子列表的内容:
>>> my_maze[6][-3], my_maze[5][-3], my_maze[4][-3] = '*', '*', '*'
# ^ ^ Third last index of row
# ^ 6th row
在重新打印联合列表时,它将打印:
>>> print '\n'.join(''.join(sub_maze) for sub_maze in my_maze)
|.....|
|.....|
|.....|
|.....|
|...*.|
|...*.|
|...*.|