问题及代码:
/*
*Copyright(c)2014,烟台大学计算机与控制工程学院
*Allrights reserved.
*文件名称:test.cpp
*作者:贾庆严
*完成日期:2016年4月6日
*版本号:v1.0
*
*问题描述:基于下面设计的游戏中角色类,补充完整需要的成员函数,
*使角色能一定的规则行动或改变状态。下面代码中包含的是最基本的要求,
*可以根据你的设计进行扩充。
*/
#include<iostream>
#include<string>
using namespace std;
class Role
{
private:
string name;
int blood;
int magic;
bool life;
public:
void setRole(string na,int bl,int ma)
{
cout<<"您成功建立的角色"<<endl;
name=na;
blood=bl;
magic=ma;
}
void show()
{
cout<<name<<" have "<<blood<<" blood"<<magic<<" magic"<<endl;
}
void attack()
{
cout<<"你成功攻击了对方,生命值+1"<<endl;
blood++;
}
void magicattact()
{
cout<<"你使用了魔法攻击,对方生命值-1,您的生命值+1,魔法指数-1"<<endl;
blood++;
magic--;
}
void eat(int n)
{
cout<<"你吃了"<<n<<"个面包,生命值回复"<<n<<"点"<<endl;
blood=blood+n;
}
~Role()
{
cout<<"游戏退出"<<endl;
}
void xisheng()
{
cout<<name<<"光荣牺牲了"<<endl;
}
void beAttack()
{
cout<<"你被攻击了,生命值-1"<<endl;
blood--;
if(blood==0)
{
cout<<"你已经死了"<<endl;
xisheng();
}
}
};
int main()
{
Role mary;
mary.setRole("jia",4,4);
mary.show();
mary.eat(2);
mary.show();
mary.attack();
mary.show();
mary.magicattact();
mary.show();
mary.beAttack();
mary.show();
mary.beAttack();
mary.show();
mary.beAttack();
mary.show();
mary.beAttack();
mary.show();
mary.beAttack();
mary.show();
mary.beAttack();
mary.show();
mary.beAttack();
mary.show();
mary.beAttack();
}
运行结果: