我正準備回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