第五周上机实践项目——项目2-游戏中的角色类-(2)

/*
 *Copyright (c)2016,烟台大学计算机与控制工程学院
 *All rights reserved.
 *文件名称:main.cpp
 *作    者:郭永恒
 *完成日期:2016年3月26日
 *版 本 号:v1.0
 *
 *问题描述:基于问题(1),设计析构函数和构造函数
 */
#include <iostream>
#include <string>
using namespace std;

class Role
{
public:
    Role(string nam = " ",int blo = 0): name(nam),blood(blo){life = blood > 0 ? true : false;}//构造函数
    ~Role()//析构函数
    {
        cout << name << "退出江湖..." << endl;
    }

    void setRole(string nam, int blo);
    void show();
    void attack();
    void eat(int num);
    void beAttack();
private:
    string name;
    int blood;
    bool life;
};

void Role::setRole(string nam, int blo)
{
    name = nam;
    blood = blo;
    if(blo > 0)
        life = true;
    else
        life = false;
}

void Role::show()
{
    cout << name << " has " << blood << " blood, it is ";
    if(blood > 0)
        cout << "alived." << endl;
    else
        cout << "dead." << endl;
}

void Role::attack()//攻击敌人,附带吸血效果
{
    blood++;
}

void Role::beAttack()
{
    blood--;
    if(blood == 0)
        life = false;
}

void Role::eat(int num)
{
    blood += num;
}

int main()
{
    Role mary("Mary",4);
    Role jack("Jack",0);
    mary.show();
    jack.show();
    return 0;
}

运行结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值