Отделить переменную HP и Attack от класса Character?в с ++ - PullRequest
0 голосов
/ 11 сентября 2018

Я хочу отделить переменные hp и attack от класса персонажа, потому что их слишком много, и им требуются разные функции отдельно, которые предназначены для цели hp и атаки.

Например,

class Player
{private:
    int currentattack; 
    int maximumattack; 
    int buffedattack;
    int maximumhealth;
    int currenthealth;
    int buffedhealth;
   ....
 }

в

class Player
{private:
    Health health;
    Attack attack;
   ....
 }

и каждый класс здоровья и класс атаки с указанными выше переменными.Однако я не знаю, как реализовать это так, чтобы для каждого умного указателя, созданного классом Player, можно было получить разные объекты класса Health и Attack для сохранения отдельных значений для разных игроков.Спасибо!

1 Ответ

0 голосов
/ 11 сентября 2018

Если у вас есть, например,

struct Health
{
    int maximumhealth;
    int currenthealth;
    int buffedhealth;
};

class Player
{
    // ...
private:
    Health health;
};

Тогда для каждого Player экземпляра, который вы создаете (независимо от того, как вы создаете экземпляр), также будет создан экземпляр Health для него, уникальный идля этого экземпляра Player.

Он работает так же, как и для любой другой переменной-члена, используя простые встроенные типы, такие как, например, int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...