武器游戏

问题及代码:

/*
*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;
}





运行结果:


知识点总结:
通过该程序,强化了我对多类联合的认识。
学习心得:
期间有很多小错误,对于两个类连起来还不是很熟悉要多做题熟悉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值