2016-03-24 43 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代表墙