Ios 找到可用的网格位置

Ios 找到可用的网格位置,ios,objective-c,iphone,c,Ios,Objective C,Iphone,C,我正在构建一个颜色框,将游戏与objective-C连接起来,并试图找出当一块盒子被错误地放置在另一块盒子上时如何找到正确的位置 请参见附加图像。在图中,您只需将左侧方框向右移动一步,即可连接方框并获胜 但是,如果将左框放置在另一个框的顶部(图2),我希望将其移动到最近的可用自由网格位置 如果长方体是一个简单的正方形(1x1网格、2x2网格等),这将很容易,但由于长方体可能很复杂,所以更难。网格上也可能有很多框 如有任何建议,将不胜感激 如果你对这样的启发法还不熟悉,那就采用亲吻法吧 再简单不

我正在构建一个颜色框,将游戏与objective-C连接起来,并试图找出当一块盒子被错误地放置在另一块盒子上时如何找到正确的位置

请参见附加图像。在图中,您只需将左侧方框向右移动一步,即可连接方框并获胜

但是,如果将左框放置在另一个框的顶部(图2),我希望将其移动到最近的可用自由网格位置

如果长方体是一个简单的正方形(1x1网格、2x2网格等),这将很容易,但由于长方体可能很复杂,所以更难。网格上也可能有很多框

如有任何建议,将不胜感激


如果你对这样的启发法还不熟悉,那就采用亲吻法吧

再简单不过了

用户在x,y位置尝试对象,确定吗

它不适合那里

所以,简单地向外“螺旋”,在其他可能的地方尝试

继续尝试,直到找到合适的为止

234
915
876
这就像“半径1”,明白吗?然后试试“半径2”

等等

就这么简单。继续尝试,直到你找到一个“有用”的

从起始位置向外工作,以便找到最近的位置