我正在用C++制作一个控制台rpg,我有一个问题。我是否可以制作一个数组来存储角色的属性,该属性将像“Attribute [atr_health] += 200;
”那样进行更改(我从一个游戏中就知道属性是否像“hero.attribute[ATR_HITPOINTS] += 1;
”那样进行了更改)?这段代码可以使用“Attribute [atr_health] -= damage;
”吗?
最佳答案
我将使用map
或unordered_map
和enum
来访问其值:
#include <map>
#include <string>
enum Attrs {DAMAGE, LIFE, ARMOUR};
class Dude
{
private:
map<int, int> attrs;
//You can use a string map instead
//map<string, int> attrs;
public:
Dude()
{
attrs[DAMAGE] = 10;
//attrs["DAMAGE"] = 10;
attrs[LIFE] = 10;
//attrs["LIFE"] = 10;
attrs[ARMOUR] = 5;
//attrs["ARMOUR"] = 10;
}
}
这样的事情可能会起作用。关于c++ - 属性数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21204414/