补充程序之游戏系列— 2带武器的游戏角色

来源:互联网 发布:手机淘宝怎么去评价 编辑:程序博客网 时间:2024/05/18 14:28


*Copyright(c) 2016.烟台大学计算机与控制工程学院
*ALL rights  reserved.
  *文件名称:main.cpp
   *作者:孙亚茹
*完成日期:2016年6月7日
*问题描述:与角色类相结合设计一个武器类。
*//

#include <iostream>using namespace std;class Wuqi{private:    string name;    string type;    int force;public:    Wuqi(string nam,string ty,int f):name(nam),type(ty),force(f){};    void show();   int getForce();};void Wuqi::show(){    cout<<"所用武器名字为:"<<name<<" "<<"所属系别是:"<<type<<" "<<"杀伤力是:"<<force<<endl;}int Wuqi::getForce(){   return force;}class Role{public:    Role(string nam,int b,string nam1,string ty1,int f1):name(nam),blood(b),w(nam1,ty1,f1) {};    ~Role();    void show();    void attack(Role &r);    void eat(int n);    bool isLife();private:    string name;    int blood;    bool life;    Wuqi w;};bool Role::isLife(){    if(blood>0)        return true;    else        return false;}Role::~Role(){    cout<<name<<"退出江湖..."<<endl;}void Role::attack(Role &r){    if(isLife())    {        blood+=w.getForce();        r.blood-=w.getForce();    }}void Role::eat(int n){    if(isLife())    {        blood+=n;    }}void Role::show(){    if(isLife())    {        cout<<name<<"还有"<<blood<<"滴血"<<"  ";        w.show();    }    else        cout<<name<<"已经死了"<<endl;}int main(){    Wuqi w1("倚天剑","剑系",4);    Wuqi w2("屠龙刀","刀系",3);    Role mary("Mary",4,"倚天剑","剑系",2);    Role jack("Jack",3,"屠龙刀","刀系",1);    mary.show();    jack.show();    int n;    while(1)    {        cout<<" 1 maryAttack    2 maryEat   3 jackAttack    4 jackEat"<<endl;        cout<<"请您选择相应的动作:"<<endl;        cin>>n;        if(n==1)        {            mary.attack(jack);            mary.show();            jack.show();            cout<<endl;        }        else if(n==2)        {            mary.eat(2);            mary.show();            cout<<endl;        }        else if(n==3)        {            jack.attack(mary);            jack.show();            mary.show();            cout<<endl;        }        else if(n==4)        {            jack.eat(2);            jack.show();            cout<<endl;        }        else            break;    }    return 0;}

总结:

         虽然程序复杂繁琐,但只要耐下心去总结思考就一定能将程序写的完满。

         考查了类的对象作为另一个类的数据成员时的构造函数的写法。

          不利用继承与派生一个类的数据成员的也能是另一个类的对象。

0 0
原创粉丝点击