/*
All rights reserced.
文件名称:main.cpp
作者:孙亚茹
完成日期:2016.4.1
问题描述:设计游戏中的规则,使角色能按规则行动或改变状态。
*/
#include <iostream>
#include<cmath>
using namespace std;
class Role
{
public:
void show();
void attack();
void eat();
void beAttack();
bool islife();
void setRole(string nam,int n);
private:
string name;
int blood;
bool life;
};
void Role::setRole(string nam,int n)
{
name=nam;
blood=n;
}
bool Role::islife()
{
if(blood>0)
{
return true;
}
else
return false;
}
void Role::attack()
{ if(islife())
blood++;
else
cout<<name<<"他已经死了...."<<endl;
}
void Role::eat()
{
if (islife())
{
blood+=2;
}
else
cout<<name<<"他已经死了"<<endl;
}
void Role::beAttack()
{if (islife())
blood--;
else
cout<<name<<"他已经死了"<<endl;
}
void Role::show()
{
if(blood>0)
cout<<"姓名是:"<<name<<'\t'<<"blood为: "<<blood<<"滴"<<"他还活着"<<endl;
else
cout<<name<<"他已经死了"<<endl;
}
int main()
{
Role mary;
mary.setRole("Mary",4);
mary.show();
int blood=4;
while(blood>=0)
{
int n;
cout<<"1. attack"<<'\t'<<"2. eat"<<'\t'<<"3. beAttack"<<endl;
cout<<"您的选择是: ";
cin>>n;
if(n==1)
{
mary.attack();
}
else if(n==2)
{
mary.eat();
}
else if(n==3)
{
mary.beAttack();
}
else
{
break;
}
mary.show();
cout<<endl<<endl<<endl;
}
return 0;
}
<img src="https://img-blog.csdn.net/20160401201335027" alt="" />