第6周项目2:带武器的游戏角色
来源:互联网 发布:js标签切换代码 编辑:程序博客网 时间:2024/06/07 03:19
<pre name="code" class="cpp">/* * Copyright(c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:第6周项目2:带武器的游戏角色 * 作者:马康泰 * 完成日期:2016.4.5 * 版本号:v1.0 * * 问题描述:设计一个武器类,其数据成员至少要有武器名、威力,还可以加上你想描述武器的其他数据。想一想要对武器实施什么处理,设计其成员函数。在上周的游戏角色类Role基础上扩充,为每个角色创建一个武器,并在攻击(attack)行为发生时,武器在其中起作用。制定游戏规则,使之接近于真实的游戏场景,并利用成员函数实现游戏规则,最后在main函数中通过调用相应的成员函数,模拟游戏过程。 * 输入描述: * 程序输出: */ #include <iostream> using namespace std; class Weapon { public: Weapon(string wnam, int f); int getForce(); private: string wname; //名称 int force; //威力 }; Weapon::Weapon(string wnam, int f):wname(wnam),force(f) {} int Weapon::getForce() { return force; } class Role { public: Role(string nam, int b, string wnam, int f); //构造函数 ~Role() { cout<<name<<"退出江湖..."<<endl; }; //析构函数 void eat(int d); //吃东西,涨d血 void attack(Role &r); //攻击别人,自己涨血,同时失血 bool isAlived(); //是否活着 void show(); //显示 private: string name; int blood; Weapon weapon; bool life; }; Role::Role(string nam, int b, string wnam, int f):name(nam),blood(b),weapon(wnam,f) { if(blood>0) life=true; else life=false; } /*Role::~Role() { cout<<name<<"退出江湖..."<<endl; } */ void Role::eat(int d) //吃东西,涨d血 { if(isAlived()) blood+=d; } void Role::attack(Role &r) //攻击别人,涨1血 { if(isAlived()) { blood+=weapon.getForce(); r.blood-=weapon.getForce(); if(r.blood<=0) r.life=false; } } bool Role::isAlived() //是否活着 { return life; } void Role::show() //显示 { cout<<name<<" has "<<blood<<" blood, it is "; if(isAlived()) cout<<"alived."; else cout<<"dead."; cout<<endl; } int main( ) { Role mary("gailun", 300, "heiqie",100); Role jack("jiansheng", 200, "wujin", 150); cout<<"---开始---"<<endl; mary.show(); jack.show(); cout<<"---第一回合---"<<endl; jack.attack(mary); mary.show(); jack.show(); cout<<"---第二回合---"<<endl; mary.attack(jack); mary.show(); jack.show(); cout<<"---结束---"<<endl; return 0; }
0 0
- 第6周-项目2-带武器的游戏角色
- 第6周项目2带武器的游戏角色
- 第6周项目2:带武器的游戏角色
- 第6周项目2:带武器的游戏角色
- 第6周项目2-带武器的游戏角色
- 第6周项目2-带武器的游戏角色
- 第6周项目2—带武器的游戏角色
- 项目2-带武器的游戏角色
- 第六周项目2-带武器的游戏角色
- 第六周项目2-带武器的游戏角色
- 第六周项目2--带武器的游戏角色
- 第六周项目(2)-带武器的游戏角色
- 第六周 项目2-带武器的游戏角色
- 第六周项目2-带武器的游戏角色
- 第六周项目2-带武器的游戏角色
- 第六周项目2-带武器的游戏角色
- 第六周项目2-带武器的游戏角色
- 项目19--带武器的游戏角色
- 深度学习(五)caffe环境搭建
- IOS混合编程 - Http for IOS (二)
- 三角形class
- 【飞然教练】史上最完整的20/80定律!
- C++作业3
- 第6周项目2:带武器的游戏角色
- 微软笔试题3 Demo Day
- jQuery ajax serialize()方法的使用以及常见问题解决
- c++作业3
- 合并PDF(Merge PDF)
- c++实验3——项目1:个人所得税计算器
- iOS 微博 sdk app私信推荐
- 深度学习(六)caffe入门学习
- IOS混合编程 - NSURLProtocol 的使用 (三)