0

我目前正在为游戏编程学院课程编写基于文本的 RPG。我目前有一个角色可以购买盔甲的商店,但现在我需要向其中添加物品。我创建了一个项目类,但很难理解如何使用向量数组将商店类、项目类和播放器类关联在一起。

认为我应该做的是在播放器类中创建一个 Item 向量,其中包含有关 struct Items 的信息。然后当玩家进入商店时,购买的物品被输入到那个向量中。

我已经包含了我的感觉,我的代码的相关部分。如果有人可以给我一些指示或提示,以消除我在理解如何在这 3 个类之间共享信息的大脑迷雾,将不胜感激。

谢谢!

项目.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;

};
4

1 回答 1

0

向量被设计为更快的动态分配数组。

我认为您会想要使用散列或仅使用静态数组,使用键或仅使用索引来存储每种类型项目的数量。

您显然会将财产存储在玩家类中,并让商店类具有某些物品的列表(可能带有库存物品的键-这就是为什么散列是个好主意的原因)。

当玩家看到商店物品并选择一个时,玩家类的散列中的数量将增加。

于 2013-10-04T17:09:46.333 回答