我目前正在开发一个使用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