/* Copyright (c) 2016
* All rights reserved 烟台大学计算机与控制工程学院
* 文件名称:3.cpp
* 作者:刘丽
* 完成日期:2016年 4 月 14日
* 版本号: v1.0
*
* 问题描述:多文件组织关于游戏的类
*/
lei.h:
#ifndef LEI_H_INCLUDED
#define LEI_H_INCLUDED
#include<string>
using namespace std;
class Role;
class arms
{
friend class Role;
private:
string name;
int powers;
int quality;
public:
arms(string="0" ,int=2 ,int=1);
};
class Role
{
public:
Role( string name,int power,int blood);
void show();
void beattack(int n);
void eat(int n);
int attack();
void take();
void broke();
void put();
private:
int blood;
int power;
string name;
arms dao;
};
#endif // LEI_H_INCLUDED
lei.h:
#include"lei.h"
#include <iostream>
using namespace std;
/***************************************/
arms::arms(string name,int powers,int quality):name(name),powers(powers),quality(quality)
{
}
/*****************************/
Role::Role( string name,int power,int blood):name(name),power(power),blood(blood)
{
}
void Role::show()
{
if(blood)
cout<<name<<" has "<<blood<<",he is alive."<<endl;
else
cout<<name<<" is died."<<endl;
}
void Role::eat(int n)
{
blood+=n;
}
void Role::take()
{
power+=dao.powers;
}
void Role::put()
{
power-=dao.powers;
}
void Role::broke()
{
dao.powers=0;
}
void Role::beattack(int n)
{
blood-=n;
if(blood<0)
blood=0;
}
int Role::attack()
{
return power;
}