您的位置:首页 > 理论基础

武器游戏

2016-04-17 10:28 357 查看
问题及代码:

/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:main.cpp
*作 者:李磊涛
*完成时间:2016年4月17日
*版 本 号:v1.0
*
*问题描述:游戏情节。
*输入描述:无。
*程序输出:每个人的情况。
*/
#include <iostream>
#include<string>
using namespace std;
class weapon
{
public:
void wea(string nam);
void shuxing(int gongji);
void leixing(string lei);
void show();
int gongji();
private:
string name;
int gongjizhi;

};
void weapon::wea(string nam)
{
name=nam;
}
void weapon::shuxing(int gongji)
{
gongjizhi=gongji;
}

int weapon::gongji()
{
return gongjizhi;
}
class Role
{
public:
Role( string nam,int n,string wnam,int g);
~Role();
void show();
void attack();
void eat(int n);
void attack(Role &r);
bool life();

private:
string name;
int blood;
weapon wea;
};
bool Role::life()
{
if(blood>0)
return true;
else
return false;
}
Role::Role( string nam,int n,string wnam,int g)
{
name=nam;
blood=n;
wea.wea(wnam);
wea.shuxing(g);
}
Role::~Role()
{
cout<<name<<"退出江湖..."<<endl;
}
void Role::show()
{
cout<<"昵称:"<<name;
cout<<"血量:"<<blood;
if(life())
cout<<"生存。"<<endl;
else
cout<<"死亡。"<<endl;

}
void Role::attack(Role &r)
{
if(life())
{
blood+=wea.gongji();
r.blood-=wea.gongji();

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

int main( )
{
Role mary("Mary", 500, "TuLong",200);
Role jack("Jack", 10, "YiTian", 180);
cout<<"---begin---"<<endl;
mary.show();
jack.show();
cout<<"---1st round---"<<endl;
jack.attack(mary);
mary.show();
jack.show();
cout<<"---2nd round---"<<endl;
mary.attack(jack);
mary.show();
jack.show();
cout<<"---end---"<<endl;
return 0;
}



运行结果:



知识点总结:

通过该程序,强化了我对多类联合的认识。

学习心得:

期间有很多小错误,对于两个类连起来还不是很熟悉要多做题熟悉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计算机 c++