2014-10-19 83 views
0

我正在构建一个连接游戏与objective-C的彩盒,并试图找出当一盒方块被错误地放在另一方块盒子上时如何找到正确的位置。查找可用的网格位置

查看附加图片。在图像中,您只需将左侧的方框向右移动一步即可连接方框并获胜。但是,如果将左侧框放在另一个框的顶部(图2),我想将其移动到最接近的可用空闲网格位置。

如果箱子是一个简单的正方形(1x1网格,2x2网格等),这很容易,但是由于箱子可能很复杂,所以这很难。网格上可能还有很多盒子。

任何建议将不胜感激。

enter image description here

enter image description here

回答

2

如果你是新来这样的启发,只取KISS的做法。

它不可能更容易...

用户试图在x,y好的对象吗?

它不适合那里。

所以,只是“螺旋”向外,试图在其他可能的地方。

只要继续尝试,直到找到适合的地方。

234 
915 
876 

这样就像“半径1”,你看?然后尝试“半径2”

等等。

就是这么简单。只要继续尝试,直到找到一个“确实有效”的人。

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