gpt4 book ai didi

c++ - 经理博弈类的一般结构

转载 作者:行者123 更新时间:2023-11-28 07:01:38 25 4
gpt4 key购买 nike

我想创建一些基于文本的足球经理游戏,至少试一试。经过长时间的思考和一些尝试,我仍然不确定类(class)的结构。我的第一个想法是创建这样的东西:

class Player
{
private:
Team team:
};

class Team
{
vector<Player> playerlist;
};

你认为以这种方式直接评估还是使用这样的指针是聪明的:

class Player
{
private:
Team* team:
};

class Team
{
vector<Player*> playerlist:
};

然后我不知道我应该使用 vector 还是列表,考虑到传输会改变长度,而 vector 会改变存储在其中的玩家地址。所以指向这个 vector 的指针可能是个问题。

所以我对此很不确定,主要是因为我对 C++ 的经验很差。您认为最好的设置方式是什么?

最佳答案

尝试将您的类(class)分解为逻辑分组。我通常发现一个很好的开始方式是写一段关于你的游戏是关于什么的简短段落。拆分出所有名词——这些通常是类或属性。拆分出所有动词 - 这些通常是方法。

一个玩家是否包含一个团队?或者一个团队是否包含一名球员?如果你想让玩家了解球队,你可以这样做。

class Player
{
public:
Player() : m_myTeam(NULL) {}
void SetTeam(Team* team);

private:
Team* m_myTeam;
};

class Team
{
public:
void AddPlayer(Player* player);

private:
std::vector<Player*> m_players;
};

我在这里要考虑的另一件事是,球队不会创造球员。球员应该由某种工厂创造,因为球员可以随心所欲地从球队来来去去,只要他们的契约(Contract)允许! :D

关于c++ - 经理博弈类的一般结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22393756/

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