2016-12-12 3 views
-2

座標を入力として使用して迷路に壁を追加したいと思います。このように*Pythonで壁を追加するには?


|......| 
|......| 
|......| 
|......| 
|......| 

そして私はの形で壁を追加したい:

私はこのようになります迷路を持って


|......| 
|......| 
|....*.| 
|....*.| 
|....*.| 

私は2つのforループ(〜マトリックス)を使ってこの迷路を作った。

開始位置と終了位置を座標x、yで尋ねると、どうすればいいですか?

私は何度か試みたが、私は解決策を見つけることができないようでは...のは、あなたの迷路は、文字のリストのリストであるとしましょうあなたの助け

+1

経路探索アルゴリズムを検索します。 A *アルゴリズムはあなたを導くでしょう。そこには多くのPythonスニペットがあります –

答えて

0

いただきありがとうございます。たとえば、あなたのようにそれを作成した:あなたが述べたように、あなただけのサブリストの内容を交換する必要が境界線を作成するための

>>> print '\n'.join(''.join(sub_maze) for sub_maze in my_maze) 
|.....| 
|.....| 
|.....| 
|.....| 
|.....| 
|.....| 
|.....| 

:迷路を印刷するための

>>> maze_width, maze_height = 5, 7 
>>> my_maze = [list('|'+'.'*maze_width+'|') for _ in range(maze_height)] 

、あなたにリストに参加することができますインデックスに基づいて:

オン
>>> 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) 
|.....| 
|.....| 
|.....| 
|.....| 
|...*.| 
|...*.| 
|...*.| 
関連する問題