问题及代码:
/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:王艺霖
*完成日期:2016年4月02日
*版 本 号:v1.0
*问题描述: 设计一个武器类,其数据成员至少有武器名、威力,还可以加上对武器的其他描述数据。。
*/
#include <iostream>
using namespace std;
class Role
{
public:
void setRole(string M,int x);
void weapon1(int );
void weapon2(int );
bool show();
void attack();
void eat(int );
void beAttack();
private:
string name;
int blood;
bool life;
int shanghai=1;
};
int main()
{
int x;
Role mary;
mary.setRole("Mary",4);
mary.show();
cout<<"请选择武器:1、断念剑。2、勃朗宁"<<endl;
cin>>x;
switch(x)
{
case 1:
mary.weapon1(2);break;
case 2:
mary.weapon2(20);break;
}
mary.attack();
mary.eat(2);
mary.beAttack();
mary.beAttack();
mary.show();
return 0;
}
void Role::setRole(string M,int x)
{
blood=x;
cout<<"名字:"<<M<<"生命力:"<<blood<<endl;
}
bool Role::show()
{
if(blood>0)
cout<<"生命力:"<<blood<<endl;
else
cout<<"无生命力"<<endl;
return 0;
}
void Role::weapon1(int n)
{
cout<<"断念剑伤害为"<<n<<endl;
shanghai+=n;
}
void Role::weapon2(int n)
{
cout<<"勃朗宁伤害为"<<n<<endl;
shanghai+=n;
}
void Role::attack()
{
cout<<"您造成了"<<shanghai<<"点伤害"<<endl;
}
void Role::eat(int n)
{
blood+=n;
cout<<"您得到"<<n<<"点生命"<<endl;
}
void Role::beAttack()
{
blood=blood-1;
cout<<"您减少"<<1<<"点生命"<<endl;
}
运行结果: