我在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