有一个正方形网格,其中有空的和填充的块。没有连续的块形成对象。我的机器人可以找出它的相邻8个区块的状态(它们是否被填充)。如果那边没有填充块,它可以移动到相邻位置。
我的代码适用于没有狭小空间的情况(即,当对象之间至少有2个空块时)。但是,在两个块之间可能存在单个空间的情况下,由于我的机器人无法知道相邻的填充块是否属于相同或不同的对象,因此无法包围该对象。
有没有办法解决这个问题?
答案 0 :(得分:0)
这个怎么样:当机器人环绕一个物体时,它正在修改它的内部地图,改变物体的边界方块,以及#34;未知"到"填充"。如果它发现自己与两个(或更多)已售出的街区相邻,那么它应该注意的那个是标记为"未知的"用#34;填充"邻居。
还有一些特殊情况要处理,很多都取决于一些设计选择 - 对角线邻居是否是连续的"如果是,如何处理棋盘格,是否标记正方形在找到下一个之前或之后,等等。但是地图标记和可见块的组合应该为机器人提供足够的信息以保持其轴承。