我在嘗試創建項目安排時遇到問題。我正在創建一個遊戲,該遊戲發生在由地形項目組成的棋盤上。棋盤上的每個地形都是自己獨特的物品,具有特定的屬性和關係。地形生成的一個重要部分要求每個空間都能夠引用其相鄰的磁貼,而且我也預見了後續對這種實現的最終需求,所以我現在想要克服它。關係意識
我遇到的主要問題是我在相對於整個事情不知道如何使矩陣中的每個成員知道對方和自己。有關它如何工作的一些見解,設計是雙層的。
首先是一個包含所有成員的普通集合。每個成員都包含在自己的通用項目中,其中包含原始數據以及項目在集合中的位置。
最重要的標準是,我不能有物體被通過大集合搜索有關。我需要讓每個項目都包含對所有相關鄰居的引用,能夠從該引用編輯其鄰居,並避免在更新這些項目時進行所有遞歸。
我基本上是試圖從數據庫中創建的東西幾乎等同於一對一的關係,使其只在一個地方存在,但其其他成員這就像在數據庫中記錄的比喻訪問。
或者這不是一個有效的解決方案?你說它不需要搜索集合,但我不確定你是否意味着這個或其他東西... –
不,這是一個不幸的解決方案,因爲雖然矩陣的每個成員都知道它自己的位置,它與其他項目的相對位置無關,因爲這是必須手動引用的方式。 你所描述的並不能解決問題的特定方面,除非每個圖塊都包含所有其他圖塊,但是每個圖塊的更新都會導致遞歸更新問題。它的孩子就像所有不包含自身的集合。任何時候,如果您更新它不包含它自己,那麼它們必須更新以包含它自己,堆棧將永遠不會解析 – Azeranth