我在C++中製作了一個非常基礎的遊戲,以獲得語言的一些經驗,並且在進度方面我已經碰到了一些磚牆。C++遊戲的列表結構
我的問題是,當我爲玩家的武器設計一個課程時,我意識到我需要一個列表,因爲在整個遊戲中我只有一定數量的武器。所以我問你,如果你正在設計這個,你會用什麼實現來存儲遊戲中的所有武器?爲什麼?
這是我的代碼到目前爲止的武器。正如你所看到的,我剛開始用「DoubleBlades」開始手動定義它們......(編輯*我忘了注意,玩家應該可以有多個wepaon,並且他們可以拿起更多或下降一些,所以名單可以成長和縮小)
#ifndef __WEAPON_H__
#define __WEAPON_H__
#include <string>
class Item
{
public:
Item(const std::string& name)
: name(name){ }
const std::string& getName(void) const { return name; }
int getID(void) const { return this->itemID;}
private:
std::string name;
int itemID;
};
class Weapon
: public Item
{
private:
int damage;
public:
Weapon(const std::string& name)
: Item(name) { }
virtual int getDamage(void) const = 0;
};
class DoubleBlades
: public Weapon
{
public:
DoubleBlades(int ammo)
: Weapon("DoubleBlades") { }
virtual int getDamage(void) const { return 12; }
};
#endif
此外,如果你發現任何不良的習慣,我真的很感激讓我知道。
我想更多地瞭解您需要如何訪問它們。你需要快速打印出所有的武器嗎?你需要「檢查」一個玩家是否擁有某種武器?你是否需要在列表末尾附加一個新的武器?所有這些東西都會影響你的數據結構。 –
以雙下劃線開頭的標識符被保留用於實現。我需要一個腳本自動說這個。 –
您好,感謝您對此的評論,我正在思考一個陣列的問題,因爲每個玩家都會有多種武器可供選擇,所以我想向玩家展示所有當前武器。隨着遊戲的進行,他們可以獲得或放鬆更多的遊戲。謝謝你指出,貓;) – LunixFrog