gpt4 book ai didi

C++ 多参数对象创建

转载 作者:行者123 更新时间:2023-11-28 07:12:23 24 4
gpt4 key购买 nike

我是一个虚拟的编程初学者,正在尝试理解面向对象编程的一个简单部分。如果我的问题的答案看起来很明显,我提前道歉,但我试图使用谷歌和 youtube 在网上找到类似的例子,但遗憾的是没有任何东西符合要求。话虽如此,这是我的问题。

我正在尝试制作一个简单的视频游戏 list ,类似于您在角色扮演游戏(例如《最终幻想 VI》或《时空之轮》)中看到的那些。我遇到的问题是创建库存项目。我想要帮助的是如何创建一个对象来定义一个项目,例如一瓶药水。我知道它将采用此处列出的多个参数:

  1. itemText = "药水";
  2. itemDesc = "恢复 50 HP";
  3. itemEffect = 玩家HP + 50;
  4. 购买成本 = 50;
  5. 销售成本 = 25;

我需要帮助的是在一个对象中连接这些参数的语法。稍后我将使用这些数据,以便我可以创建一个仅显示 itemText 和 Quantity 供玩家查看的数组。任何和所有帮助或地方将不胜感激。

先谢谢你,德利塔

最佳答案

也许您正在寻找一种设计来帮助您入门。
既然你说你是初学者,那我就避免多态、模板和所有其他废话。
这是一个非常基本的设计:

ItemProperty :表示项目的作用和作用。

struct ItemProperty
{
enum effectType {
PLAYER_HP,
PLAYER_MP,
CURE_POISON,
REVIVE,
ERROR
} ;

ItemProperty (const effectType effect = ERROR, int magnitude = 0) ;

private:
int magnitude ;
effectType effect ;
};

ItemProperty::ItemProperty (const effectType effect, int magnitude) : effect (effect), magnitude (magnitude)
{
}


Item:你想要的元素。

class Item
{
public:
Item () ;
Item (const std::string &name, const std::string &description, const ItemProperty &itemProperty,
const int buyValue, const int sellValue) ;

private:
std::string name ;
std::string desciption ;
ItemProperty itemProperty ;
int buyValue ;
int sellValue ;
};

Item::Item () : buyValue (0), sellValue (0)
{
}

Item::Item (const std::string &name, const std::string &description, const ItemProperty &itemProperty,
const int buyValue, const int sellValue)
: name (name), desciption (description), itemProperty (itemProperty),
buyValue (buyValue), sellValue (sellValue)
{
}


主要:制作药水

int main (void)
{
Item potion ("Potion", "Regain 50 HP", ItemProperty (ItemProperty::PLAYER_HP, 50), 50, 25) ;

return 0 ;
}

一旦您更好地掌握了编程,您将能够想出比这更好的设计。但现在,请保持简单。

关于C++ 多参数对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20765958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com