2014-10-19 76 views
0

我正在構建一個連接遊戲與objective-C的彩盒,並試圖找出當一盒方塊被錯誤地放在另一方塊盒子上時如何找到正確的位置。查找可用的網格位置

查看附加圖片。在圖像中,您只需將左側的方框向右移動一步即可連接方框並獲勝。但是,如果將左側框放在另一個框的頂部(圖2),我想將其移動到最接近的可用空閒網格位置。

如果箱子是一個簡單的正方形(1x1網格,2x2網格等),這很容易,但是由於箱子可能很複雜,所以這很難。網格上可能還有很多盒子。

任何建議將不勝感激。

enter image description here

enter image description here

回答

2

如果你是新來這樣的啓發,只取KISS的做法。

它不可能更容易...

用戶試圖在x,y好的對象嗎?

它不適合那裏。

所以,只是「螺旋」向外,試圖在其他可能的地方。

只要繼續嘗試,直到找到適合的地方。

234 
915 
876 

這樣就像「半徑1」,你看?然後嘗試「半徑2」

等等。

就是這麼簡單。只要繼續嘗試,直到找到一個「確實有效」的人。

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