/*
*Copyright(c)2014,烟台大学计算机与控制工程学院
*Allrights reserved.
*文件名称:test.cpp
*作者:肖雪
*完成日期:2016年4月12日
*版本号:v1.0
*
*问题描述:在上周的游戏角色类Role基础上扩充,为每个角色创建一个武器,并在攻击(attack)行为发生时,武器在其中起作用。
*/
#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("花千骨",6);
mary.show();
cout<<"请选择您的武器:1、绝情剑 2、流风琴"<<endl;
cin>>x;
switch(x)
{
case 1:
mary.weapon1(3);
break;
case 2:
mary.weapon2(2);
break;
}
mary.attack();
mary.eat(2);
mary.beAttack();
mary.attack();
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;
}