第六周-项目4武器类
来源:互联网 发布:tvb电视剧观看软件 编辑:程序博客网 时间:2024/06/05 17:32
/**烟台大学计算机学院*文件名称:xiangmu3.cpp*作 者:李亚辉*完成日期:2016年6月2日*版 本 号:codeblocks 16.01**问题描述:设计一个武器类,其数据成员至少要有武器名、威力,还可以加上你想描述 武器的其他数据。设计成员函数,在上周的游戏角色类Role基础上补充*输入描述:无*程序输出:各种状态*/#include<iostream>#include<string>#include<cmath>using namespace std;class Weapon//定义武器类{public: Weapon(string wnam, int w);//武器名称与威力 int getweili();private: string wname; int weili;};Weapon::Weapon(string wnam, int w):wname(wnam),weili(w) {}//构造函数int Weapon::getweili(){ return weili;}class Role{public: Role(string nam,string clo,string wnam,int b=10,int e=0,int g=1,int w=0); //构造函数 void changecloth(string clot); void up_grade(); void attack(Role &r); void eat(int a); void show(); bool isAlived(); ~Role() //析构函数,当人物死亡后自动调用 { cout<<name<<"退出江湖..."<<endl; }private: string name; string cloth; Weapon weapon; int w_arms; int grade; int emengy; int blood; bool life;};Role::Role(string nam,string clo,string wnam,int b,int e,int g,int w):name(nam),cloth(clo),blood(b),grade(g),emengy(e),weapon(wnam,w){ if(blood>0) life=true; else life=false;}void Role::changecloth(string clot)//换衣服{ cloth=clot;}void Role::up_grade(){ if(isAlived()&&emengy>grade*10) grade++;}void Role::attack(Role &r) //引用,攻击一次,血量+50,经验值加威力的十分之一{ if(isAlived()) { blood+=50; r.blood-=weapon.getweili(); if(r.blood<=0) r.life=false; emengy+=weapon.getweili()/10; }}void Role::eat(int a) //血量+a{ if(isAlived()) blood+=a;}bool Role::isAlived(){ return life;}void Role::show(){ up_grade(); cout<<name<<" has "<<blood<<" blood, it is "; if(isAlived()) cout<<"alived."<<endl; else cout<<"dead."<<endl;; cout<<"His grade is "<<grade<<",her emengy is "<<emengy<<"."<<endl; cout<<"He is in "<<cloth<<" cloth."<<endl; cout<<endl;}int main(){ Role mary("Mary","red","TuLong",500,0,1,200); Role jack("Jack","blue","YiTian",500,0,1,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;}//学习心得:与前面的武器类很相似,感觉比以前稍微熟练了一点,思路清晰了一些。
0 0
- 第六周-项目4武器类
- 第六周上机实践项目-武器类
- 第六周项目2游戏类(武器)
- 第六周项目二 带武器的游戏角色类
- 第六周项目二带武器角色类
- 第六周项目二 带武器的角色类
- 第六周项目训练2带武器的角色类
- 第六周【项目2-游戏类(武器)】
- 第六周项目2-带武器的类
- 第六周项目2--带武器的角色类
- 第六周作业 武器类
- 第六周 武器
- 第六周实践项目2————设计武器类
- 第六周项目2-带武器的游戏角色(组合类)
- 第六周项目28-用多文件组织多个类的程序(带武器的角色类)
- 第六周项目2-带武器的游戏角色(组合类)
- 第六周项目2-带武器的游戏角色
- 第六周项目2-带武器的游戏角色
- 空格的解决
- Java 自带的加密类MessageDigest类(加密MD5和SHA)
- windows下JDK版本之间的切换
- IEEE754 C 语言代码
- Jenkins搭建持续集成环境搭建
- 第六周-项目4武器类
- 数据库分库分表
- 排序函数模板(改)
- 排序函数模板
- 轮播图
- 是春哥啊
- 第九周-阅读程序1
- C++实验7——最大公约和最小公倍数
- 数据库分库分表