我目前正在開發一個使用C++的RPG遊戲,並且我已經到了在地圖上包括事件的地步。訪問同一父母的其他孩子的元素的孩子
我想讓地圖上的事件能夠治癒玩家。我認爲最簡單的方法是使用'this'關鍵字將指針傳遞給遊戲中的事件對象。當我這樣做時,出現了一大堆編譯器錯誤,這些錯誤似乎是由於試圖包含一個當前試圖包含其他類的類而導致的。 (無盡循環,我猜?)
例如。我有我的'遊戲'類,它有一個屬於'mapManager'類的公共成員。 'mapManager'對象將'event'對象作爲成員。 '遊戲'對象在其成員中也有'玩家'對象。我需要讓「事件」對象更改「玩家」所具有的變量。每當我需要它時,我都可以誠實地拋出指針,但這可能會很麻煩。
我想問的是,如果有一個簡單的方法讓父母的孩子訪問該父母的另一個孩子,或者如果它更容易拋出指向所有需要他們指向的孩子類的指針給其他孩子。
哇...這沒什麼意義,但希望有人能夠理解,給我一個很好的答案。這裏有一些代碼,以防它有幫助。
:game.h
include "player.h" include "event.h"
class game { public: player Player; event Event; };
:player.h
class player { public: game* Game;
};
:event.h
class event { public: game* Game; };
剛剛這將導致「遊戲沒有指定類型」,所以我想包括event.h和player.h遊戲,並得到了同樣的錯誤。我想要做的就是能夠從內部事件中訪問玩家的變量HP。
您聽起來需要觀察者設計模式。您需要顯示代碼和錯誤以獲得有關您的特定問題的真正幫助。 – andre
我不想發佈我的整個代碼,因爲老實說它太麻煩和複雜了。我做了一些示例代碼,並得到相同的錯誤。我將編輯問題以包含代碼。 – Kethaias