2016-03-24 19 views
-1

私は8x8 2D numpy配列を持っています。ここで0は空白、1は障害物です。壁を表現するにはどうすればいいですか?唯一の方法で壁を迷路にハードコーディングしていますか?良い参考文献があれば、それは助けになるでしょう。私は地図の一般的なレイアウトを知っていますが、壁には正確なギャップ/開口部がどこにあるのかわかりません。最初は、配列の壁を1の行としてハードコーディングし、ギャップを検出したときに配列を編集する関数を作成すると思いました。2次元配列(Python)の壁

nmap = numpy.array([ 
      [0,0,0,0,0,0,0,0], 
      [0,1,1,1,1,1,0,0], 
      [1,1,1,1,1,1,1,0], 
      [1,1,1,1,1,1,1,0], 
      [0,0,0,0,0,0,0,0], 
      #wall 
      [0,0,0,0,0,0,0,0], 
      #wall 
      [0,0,0,0,0,0,0,0], 
      #wall 
      [0,0,0,0,0,0,0,0]]) 
+1

壁に表し障害?何もない場合、なぜそれを '1'にしないのですか – niklas

+1

この質問は広すぎます。あなたの迷路が常に同じ場所に壁を持っているなら、特にあなたの迷路がどれほど小さいかを考えれば、ハードコーディングするのはなぜですか?より汎用性のあるものが必要な場合は、具体的な実装方法や定義方法を提供する必要があります。 – zephyr

答えて

2

なぜ壁に別の番号を使用するだけではないのですか? 2

このような例で何かを

のように:

numpy.array([[2,2,2,2,2], 
      [2,0,0,1,2], 
      [2,0,0,1,2], 
      [2,0,1,0,2], 
      [2,0,2,2,2], 
      [2,0,0,0,2], 
      [2,2,2,2,2]]) 

だから0空きスペースを表し、1が障害物を表し、2あなたの意見では何が壁との間に差がある