游戏

问题及描述;

/*
 *Copyright (c) 2016,烟台大学计算机学院
 *All rights reserved.
 *文件名称;test.cpp
 *作者;邱凯
 *完成日期;2016年4月13号
 *版本号;v6.0
 *问题描述;  游戏
 *输入描述;  无
 *输出描述; 输出答案

*/
#include <iostream>
using namespace std;
class Weapon
{
public:
    Weapon(string wnam, int f);
    int getForce();
private:
    string wname;   
    int force;       
};
Weapon::Weapon(string wnam, int f):wname(wnam),force(f) {}
int Weapon::getForce()
{
    return force;
}
class Role
{
public:
    Role(string nam, int b, string wnam, int f); 
    ~Role(); 
    void eat(int d); 
    void attack(Role &r); 
    bool isAlived(); 
    void show(); 
private:
    string name;
    int blood;
    Weapon weapon;
    bool life;
};
Role::Role(string nam, int b, string wnam, int f):name(nam),blood(b),weapon(wnam,f)
{
    if(blood>0)
        life=true;
    else
        life=false;
}
Role::~Role()
{
    cout<<name<<"退出江湖..."<<endl;
}
void Role::eat(int d) 
{
    if(isAlived())
        blood+=d;
}
void Role::attack(Role &r) 
{
    if(isAlived())
    {
        blood+=weapon.getForce();
        r.blood-=weapon.getForce();
        if(r.blood<=0)
            r.life=false;
    }
}

bool Role::isAlived() 
{
    return life;
}

void Role::show() 
{
    cout<<name<<" has "<<blood<<" blood, it is ";
    if(isAlived())
        cout<<"alived.";
    else
        cout<<"dead.";
    cout<<endl;
}
int main( )
{
    Role mary("Mary", 500, "TuLong",200);
    Role jack("Jack", 10, "YiTian", 180);
    cout<<"---begin---"<<endl;
    mary.show();
    jack.show();
    cout<<"---1st round---"<<endl;
    jack.attack(mary);
    mary.show();
    jack.show();
    cout<<"---2nd round---"<<endl;
    mary.attack(jack);
    mary.show();
    jack.show();
    cout<<"---end---"<<endl;
    return 0;
}

游戏_第1张图片

你可能感兴趣的:(游戏)