2016-03-24 42 views
-1

我有一個8x8 2D numpy數組,其中0是開放空間,1是障礙物。我如何表現牆壁?用1的唯一方法是將牆壁硬編碼到迷宮中?如果你有很好的參考資料,那會有幫助。我知道地圖的總體佈局,但對於牆壁我不知道確切的空隙/開口在哪裏。起初我以爲我只是將牆壁硬編碼到數組中,然後編寫一個函數,當我檢測到間隙時編輯數組。二維數組牆(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代表牆