第六周项目二-带武器的游戏角色
<pre class="cpp" name="code">/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年4月5日*版 本 号:v1.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); 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;elselife=false;
}
Role::~Role()
{cout<<name<<"退出江湖..."<<endl;
}
void Role::eat(int d)
{if(isAlived())blood+=d;
}
void Role::attack(Role &r)
{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.";elsecout<<"dead.";cout<<endl;
}
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;
}
运行结果:
第六周项目二-带武器的游戏角色相关推荐
- 第六周项目2建立链栈算法库
/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第六周项目2.cpp 作 者:彭子竹 完成日期:2015年10月23日 版 ...
- 第九周项目二时间类的重载<<与>>,一目。
/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者: * 完成日期:2014 年4 月22 日 * 版 本 号:v1.0 * ...
- 第五周 项目二 建立链栈算法库
/* Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第5周项目2--建立链栈算法库.cpp 作 者:孙仁圆 完成日期:2017年 ...
- 迦瓦栈队 团队第六周项目总结
贪吃蛇小游戏的Java实现_项目总结 小组成员: ·20145201 李子璇 ·20145204 张亚军 ·20145211 黄志远 ·20145212 罗天晨 ·20145224 陈颢文 团队项目总 ...
- 第十一周项目二----用二叉树求解代数表达式
/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持二目运算的+ ...
- 第十二周项目二-Time类中的运算符重载
/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月24日*版 本 号:v1. ...
- 第十二周项目二----操作用邻接表存储的图
/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法: (1)输出出图G中每个顶点的出度: (2)求出图G中出度最大的 ...
- 第十周 项目二 阴险的小刚
#include <cstdio> using namespace std; int main() { char ch; int i=1; for(i=1;i< ...
- 15周项目二:杨辉三角。
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: array.cpp * 作 者:赵振凯 ...
最新文章
- 【Live555】live555源码详解(一):BasicUsageEnvironment、UsageEnvironment
- ***突然断开可能是ADSL猫惹的祸
- vSphere虚拟化之ESXi安装及部署
- obj: object是什么意思_面试官问你JavaScript基本类型时他想知道什么?
- win10 iot core java_Windows 10 IoT Core 正式版初体验
- CUBLAS变量解释(1)
- C语言bmp文件隐藏,怪事!!关于读bmp文件!
- ucos-II 任务间同步源码分析(一)
- 如何防止盗号 使用windows自带的 屏幕键盘 OSK
- 关于go语言的测试相关内容笔记
- 快速了解Linux ps命令
- Durable NAND flash memory management
- Nginx实现静态资源服务器
- Mysql 10位 13位时间戳对比现在时间 时间对比查询
- win10连接文件服务器记住密码如何删除,win10系统访问共享文件夹需要密码的取消方法...
- 矩阵转置算法 oracle,请编写程序fun,函数的功能是:实现B=A+Aˊ,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函...
- CentOS7设置笔记本合盖不休眠
- 这些秋季儿童养生小常识,你要知道!
- android 图片内存缓存文件在哪个文件夹,别再用手机管家清理内存了!1分钟删掉这些文件夹,内存多出几个G...
- ArrList 源码拜读
热门文章
- python阿拉伯数字转中文_python中将阿拉伯数字转换成中文的实现代码
- C++知识点11——this指针,const成员函数,访问权限控制
- 卢京潮自动控制原理ppt_视觉定位系统在贴片机中的使用与原理作用
- 山西晋城学籍“失踪”解决方案:可参加高考或转职高
- with(nolock)的用法
- (28)SpringBoot启动时的Banner设置【从零开始学Spring Boot】
- 内存数据库服务运营之路
- 一站式学习Wireshark(三):应用Wireshark IO图形工具分析数据流 | 快课网
- wordpress给后台文章列表增加自定义排序栏
- [NOIp提高组2017]宝藏