我目前正在为Game Programming Institute课程编写一个基于文本的RPG。我目前有一个商店,角色可以购买盔甲,但现在我需要添加物品。我创建了一个item类,但我很难理解如何使用向量数组将store类,items类和player类关联在一起。
我认为我应该做的是在播放器类中创建一个包含struct Items信息的Item向量。然后,当玩家进入商店时,购买的商品将被输入该矢量。
我已经包含了,我的感觉,我的代码的相关部分。如果有人能给我一些指示或提示,只是为了清除我的大脑迷雾,了解如何分享这三个类的信息,将非常感激。
谢谢!
的 Item.h 的
struct Item{
int itemType;
int goldValue;
};
在 player.h 课程中,我添加了私人数据:
std::vector<Item> mItem;
在 player.cpp 中我正在尝试显示具有该功能的项目
void Player::purchaseItem(Item& mItems, int itemType, int itemValue)
这是 store.h
class Store{
public:
void enterStore(Player& player);
private:
Armor mStoreArmor;
int mCost;
};
答案 0 :(得分:0)
矢量被设计为更快速动态分配的数组。
我认为你想要使用哈希或只是一个静态数组,使用键或只是索引,存储每种类型项目的数量。
你显然会在玩家类中存储所有物品,并且商店类有一个特定物品的清单(可能带有库存物品的钥匙 - 这就是为什么散列是个好主意。)
当玩家看到商品并选择一个商品时,玩家类的散列中的数量会增加。