第六周项目2-带武器的游戏角色(组合类)

来源:互联网 发布:角度测量软件哪种好 编辑:程序博客网 时间:2024/05/17 07:37
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zyt.cpp *作    者:张毓桐 *完成日期:2016年9月10日 *版 本 号:v1.0 * *问题描述:设计一个游戏中角色的类,定义其中的变量,使角色可以改变状态,增加一个武器类,组合角色类和武器类 *输入描述:根据提示,输入选项 *程序输出:角色的状态 */#include<iostream>using namespace std;class weapon{public:    void show();    int sha();private:    int cblood;    string name;};void weapon::show(){    cout<<"请输入武器名称    杀伤力:";    cin>>name>>cblood;}int weapon::sha(){    return cblood;    cout<<cblood;}class role{public:    void eat();    void attack();    void beattack();    bool isalived();    void setrole(string name,int b);    void show();    void xxx();private:    weapon w1;    string name;    int blood;    bool life;};bool role::isalived(){    if(blood>0)        return true;    else        return false;}void role::eat(){     if(isalived())        blood+=1;}void role::attack(){    if(isalived())        blood=blood+1;}void role::beattack(){    if(isalived())        blood-=w1.sha();}void role::setrole(string nam ,int b){    name=nam;    blood=10;}void role::show(){    if(blood>0)        cout<<" mary has "<<blood<<" blood,it is alived."<<endl;    else        cout<<"  mary was over."<<endl;}void role::xxx(){    w1.show();}int main(){        role mary;        mary.setrole("marry",10);        mary.show();        int n; while(n>0)    {        int n;        cout<<"      attack:1     beattack:2     eat:3     "<<endl;        cout<<"please choose your activity:";        cin>>n;        if(n==1)        {            mary.attack();        }        else if(n==2)        {            mary.xxx();            mary.beattack();        }        else if(n==3)        {            mary.eat();        }        else        {            break;        }        mary.show();        cout<<"\n\n\n\n";    }    return 0;}

0 0
原创粉丝点击