我目前正在使用 C++ 开发一款 RPG 游戏,并且已经到了在地图上包含事件的地步。
我希望能够让地图上的事件治愈玩家。我认为最简单的方法是使用“this”关键字从游戏中传递指向事件对象的指针。当我开始这样做时,出现了一大堆编译器错误,这些错误似乎是由于试图包含一个当前试图包含另一个类的类。(我猜是无限循环?)
例如。我有我的“游戏”类,它有一个属于“mapManager”类的公共成员。然后,“mapManager”对象将“事件”对象作为成员。“游戏”对象在其成员中也有一个“玩家”对象。我需要让“玩家”拥有的“事件”对象更改变量。我可以在需要的时候诚实地抛出指针,但这可能会变得很麻烦。
我想问的是,是否有一种简单的方法可以让父母的孩子访问该父母的另一个孩子,或者是否更容易将指针指向所有需要它们指向其他孩子的子类.
哇......这没什么意义,但希望有人能理解到足以给我一个好的答案。这是一些代码,以防万一。
: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。