第六周项目2
来源:互联网 发布:post json method 编辑:程序博客网 时间:2024/05/16 02:35
/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:aaa.cpp *作 者:赵子琳 *完成日期:2016年4月5日 *版 本 号:v1.0 * *问题描述:仅设计了一个非常简单的使用武器的规则 *当攻击对方时,自己涨血数等于自己武器的威力,同时对方失去等量血 *对方失血变为0或负后,死去. */#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, "JiaSuo",200); Role jack("Jack", 10, "YingKongShi", 180); cout<<"---begin---"<<endl; mary.show(); jack.show(); cout<<"---1st round---"<<endl; jack.attack(mary); mary.show(); jack.show(); cout<<"---2nd round---"<<endl; jack.eat(100); mary.show(); jack.show(); cout<<"---3nd round---"<<endl; mary.attack(jack); mary.show(); jack.show(); cout<<"---4nd round---"<<endl; mary.attack(jack); mary.show(); jack.show(); cout<<"---end---"<<endl; return 0;}
0 0
- 第六周项目2
- 第六周项目2
- 第六周项目2-2
- 第六周项目2-1
- 第六周项目2填空
- 第六周项目一(2)
- 第六周项目2-友元类
- 第六周项目一(2)
- 第六周项目一(2)
- 第六周上机任务项目 2
- 第六周项目二(2)
- 第六周项目阅读程序2
- 第六周项目2-my array class
- 第六周项目一(2)
- 第六周 项目2 数组类
- 第二学期第六周项目2
- 第六周项目2猴子选大王
- 第六周项目一
- Struts2框架学习(三) 数据处理
- 文章标题
- PHP urlecode urldecode rawurldecode() rawurldecode 区别
- Hibernate框架学习(一 )
- CDH5.7快速离线安装教程
- 第六周项目2
- Android ndk报错error: format not a string literal and no format arguments [-Werror=format-security]
- C++实验4——分数的累加
- iOS里加密字符串、图片、视频方法
- C++作业4
- php中empty(), is_null(), isset()函数区别
- 第八周上机实践项目1(2):数组做数据成员
- 第四次作业
- 无废话ExtJs 入门教程六[按钮:Button]