我正准备回C++与我的一个朋友。我正在写一个基本的基于文本的地牢游戏,试图让玩家向上,下,左,右。那么我的问题有两个部分。我应该在这里使用朋友课吗?
我创建了一个地图类,一个Player类和GameLoop类。发生的一切显然都在我的GameLoop里面。 Map类有一个名为Move()的函数来移动播放器。在Map类中,我应该让我的Player类具有对Map类的友好访问吗?我对什么时候使用朋友类感到困惑。我想知道游戏循环函数是否应该使用map.Move(),或者如果我应该将Move()放入Player类中,使它们成为朋友并使用player.Move()。
我的地图级别保存坐标的私人数据,这是我的玩家定位的地方。
我知道这可能是有点主观的,但我有点一般说话。使用直接使用Map对象的效率更高的朋友类?
对我的第二个问题。我知道类很常见,但我想知道对象是否是。是否应该为每个类创建至少一个对象,或者甚至可以创建一个类并在不创建对象的情况下使用它?
你为什么选择将'Move()'作为'Map'的成员函数,而不是'Player'? – Maxpm 2011-05-01 04:49:54
@Maxpm:做这件事有很多原因,其中之一就是'Map'封装了玩家的位置。当您在2D网格上进行碰撞检测时,这非常有用。 – 2011-05-01 04:52:12