###実現したいこと
プログラム練習として、RPG的なものを作成しています。
攻撃を行い、その値を反映させたいです。
しかし、攻撃値が最終的な体力の値に反映されません。
多くのプログラミングを掲載して申し訳ございません
発生している問題
実行結果
らすぼす に 50 のダメージをあたえた らすぼす の たいりょくは 450 になった -らすぼす の ステータス--- たいりょく : 500
###関連するコード
Human
1class Human 2{ 3public: 4 Human(); 5 ~Human(); 6 7 //Setter/Getter 8 std::string GetName(); 9 void SetName(std::string _name); 10 int GetVitality(); 11 void SetVitality(int _vitality); 12private: 13 std::string name; 14 int vitality; 15}; 16 17std::string Human::GetName() { 18 return this->name; 19} 20void Human::SetName(std::string _name) { 21 this->name = _name; 22} 23 24int Human::GetVitality() { 25 return this->vitality; 26} 27void Human::SetVitality(int _vitality) { 28 this->vitality = _vitality; 29}
Yuusya
1class Yuusya : public Human 2{ 3public: 4 Yuusya(); 5 ~Yuusya(); 6 7 void SpecialAttack(Human target); 8}; 9 10Yuusya::Yuusya(){ 11///勇者ステータス 12} 13Yuusya::~Yuusya(){} 14 15void Yuusya::SpecialAttack(Human target) { 16 target.SetVitality(target.GetVitality() - 50); 17 std::cout << target.GetName() << "に 50 のダメージを あたえた" << std::endl; 18 std::cout << "らすぼす の たいりょくは " << target.GetVitality() << " になった" << std::endl; 19}
LastBoss
1 2class LastBoss : public Human 3{ 4public: 5 LastBoss(); 6 ~LastBoss(); 7}; 8 9LastBoss::LastBoss(){ 10 SetName("らすぼす"); 11 SetVitality(500); 12} 13LastBoss::~LastBoss(){}
main
1void Showstatus(Human target); 2 3int main(){ 4 Human human; 5 Yuusya yuusya; 6 LastBoss lastBoss; 7 8 yuusya.SpecialAttack(lastBoss); 9 10 Showstatus(lastBoss); 11 12 return 0; 13} 14 15void Showstatus(Human target) { 16 std::cout << "- " << target.GetName() << " の ステータス---" << std::endl; 17 std::cout << "たいりょく : " << target.GetVitality() << std::endl; 18} 19
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/17 15:30