#include <iostream>
#include <string>
using namespace std;
const string LINE = "-----------------------------------";
const int LIFE_MAX = 999; // 体力の最大値を定数とする

class GameCharacter {
private:
    string name;
    int life;
public:
    void setName(string na) { name = na; }
    void setLife(int li) { life = li; }
    string getName() { return name; }
    int getLife() { return life; }
    void calcLife(int val) { // 体力を増減するメンバ関数
        life = life + val;
        if (life < 0) life = 0; // 0未満にしない
        if (life > LIFE_MAX) life = LIFE_MAX; // 最大値を超えない
    }
};

int main() {
    GameCharacter player;
    GameCharacter* pp = &player; // オブジェクトを指すポインタ
    pp->setName("テラ");
    pp->setLife(700);
    cout << "名前:" << pp->getName() << endl;
    cout << "体力:" << pp->getLife() << endl;
    cout << LINE << endl;
    cout << "ゴブリンの攻撃を受けた！ ダメージ100" << endl;
    pp->calcLife(-100);
    cout << "体力:" << pp->getLife() << endl;
    cout << LINE << endl;
    cout << pp->getName() << "は完全回復魔法を使った！" << endl;
    pp->calcLife(LIFE_MAX);
    cout << "体力:" << pp->getLife() << endl;
    cout << LINE << endl;
    cout << "ドラゴンは炎を吐いた！！ ダメージ9999" << endl;
    pp->calcLife(-9999);
    cout << "体力:" << pp->getLife() << endl;
}