您的位置:首页 > 其它

第六周项目2-带武器的类

2016-04-13 18:19 309 查看
/*
*Copyright(c) 2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:my.cpp
*作    者:张瀚文
*完成日期:2016年4月13日
*版 本 号:v1.0
*
*问题描述:1.用之前的代码 设计带武器的类

*输入描述:
*程序输出:
*/

#include <iostream>

using namespace std;
class Weapon
{
public:
int damage()
{
return w_damage;
}
Weapon(string ww_name,int ww_damage):w_name(ww_name),w_damage(ww_damage){}
private :
int w_damage;
string w_name;
}  ;
class Role
{
public:
Role(string x,int n,string ww_name,int ww_damage):name(x),blood(n),weapon(ww_name,ww_damage){} ;
void setRole(string x,int n,string w_name,int w_damage);
void showmessage();
void attack(Role &x);
void eat(int x);

bool staus();
private:
string name;
int blood;
bool life;
Weapon weapon;
};

bool Role::staus()
{
if(blood>0)
life=true;
else
life=false;
return life;
}
void Role::showmessage()
{
if(staus())

cout<<name<<" the blood:"<<blood<<endl<<"stuas:"<<" alive"<<endl;
else
cout<<"dead"<<endl;

}
void Role::attack(Role &x)
{

if(staus())
{
blood+=weapon.damage();
x.blood-=weapon.damage();
if(x.blood<0)
x.life=false;
}
}

void Role::eat(int x)
{
blood+=x;
}

int main()
{
Role mary("mary",100,"sword",10);
Role jack("jack",100,"axe",5);
mary.showmessage();
jack.showmessage();
mary.attack(jack);

mary.eat(2);
jack.eat(4);

mary.showmessage();
jack.showmessage();
return 0;
}
<img src="https://img-blog.csdn.net/20160413181857932" alt="" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: