第6周项目2:带武器的游戏角色
来源:互联网 发布:react.js阮一峰 编辑:程序博客网 时间:2024/06/07 01:23
/* * 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(); //析构函数 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("Mary", 500, "TuLong",200); Role jack("Jack", 10, "YiTian", 180); 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;}运行结果:<img src="http://img.blog.csdn.net/20160405201442523" alt="" />
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--带武器的游戏角色
- SQL语言基础入门总结
- javaEE
- JAVA常用运算符极其运算优先级的总结
- 《剑指Offer》学习笔记——重建二叉树
- 第6周项目4-静态成员应用
- 第6周项目2:带武器的游戏角色
- 关于const
- javaEE
- Android 5.0以后:Service Intent must be explitict
- 第六周项目1——分数类的雏形
- JDK、myeclipse和tomcat都什么版本可用servlet 3.0
- android-学习资源
- 第六周项目-分数类的雏形
- ios: Designated Initializer