第六周项目2-带武器的游戏角色

问题及代码:

/*
 *Copyright (c) 2016,烟台大学计算机学院
 *All rights reserved.
 *文件名称:zwj.cpp
 *作    者:张伟晶
 *完成日期:2016年4月3日
 *版 本 号:v1.0
 *
 *问题描述:设计一个游戏中角色的类,定义其中的变量,使角色可以改变状态,在先前的基础上加入武器的选项
 *输入描述:根据提示,输入选项,武器的种类
 *程序输出:角色的状态
 */
#include<iostream>
using namespace std;
class role
{
public:
    void eat();
    void attack(int n);
    void beattack(int g);
    bool isalived();
    void setrole(string name,int b);
    void show();
private:
    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(int n)   //wuqi
{

        blood+=n;

}
void role::beattack(int g)
{
    if(isalived())
        blood-=g;
}
void role::setrole(string nam ,int b)
{
    name=nam;
    blood=4;

}
void role::show()
{
    if(blood>0)
        cout<<" mary has "<<blood<<" blood,it is alived."<<endl;
    else
        cout<<"  mary was over."<<endl;
}
int main()
{
        role mary;
        mary.setrole("marry",4);
        mary.show();
        int n;
 while(n>0)
    {


        int n,g,x;

        cout<<"      attack:1     beattack:2     eat:3     "<<endl;
        cout<<"please choose your activity:";
        cin>>n;
        if(n==1)
        {
            cout<<"请选择你要使用的武器: 1倚天剑 2屠龙刀   :";
            cin>>x;
            if(x==1)
                mary.attack(2);
            else
                mary.attack(3);
        }
        else if(n==2)
        {
            cout<<"请选择对方使用的武器:  1轩辕剑  2风火轮   :";
            cin>>g;
            if(g==1)
                mary.beattack(1);
            else
                mary.beattack(3);
        }
        else if(n==3)
        {
            mary.eat();
        }
        else
        {
            break;
        }
        mary.show();

        cout<<"\n\n\n\n";
    }
    return 0;
}

运行结果:

知识点总结:

学习心得:

持续努力,保持激情。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值