一个关于带武器的游戏角色类
2016-04-05 19:46
281 查看
/* Copyright (c) 2016
* All rights reserved
* 文件名称:3.cpp
* 作者:刘丽
* 完成日期:2016年 4 月 7日
* 版本号: v1.0
*
* 问题描述:一个关于带武器的游戏角色类
*/
* All rights reserved
* 文件名称:3.cpp
* 作者:刘丽
* 完成日期:2016年 4 月 7日
* 版本号: v1.0
*
* 问题描述:一个关于带武器的游戏角色类
*/
#include <iostream> #include<string> using namespace std; class Role; /***************************************/ class arms { friend class Role; private: string name; int powers; int quality; public: arms(string="0" ,int=2 ,int=1); }; arms::arms(string name,int powers,int quality):name(name),powers(powers),quality(quality) { } /*****************************/ class Role { public: Role( string name,int power,int blood); void show(); void beattack(int n); void eat(int n); int attack(); void take(); void broke(); void put(); private: int blood; int power; string name; arms dao; }; Role::Role( string name,int power,int blood):name(name),power(power),blood(blood) { } void Role::show() { if(blood) cout<<name<<" has "<<blood<<",he is alive."<<endl; else cout<<name<<" is died."<<endl; } void Role::eat(int n) { blood+=n; } void Role::take() { power+=dao.powers; } void Role::put() { power-=dao.powers; } void Role::broke() { dao.powers=0; } void Role::beattack(int n) { blood-=n; if(blood<0) blood=0; } int Role::attack() { return power; } int main() { Role Mary("mary",1,5),Tom("Tom",1,4); Mary.show(); Tom.show(); Mary.take(); Mary.beattack(Tom.attack()); Mary.show(); Tom.beattack(Mary.attack()); Tom.show(); Tom.take(); Tom.beattack(Mary.attack()); Tom.show(); return 0; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android Native 绘图方法
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- C#中struct和class的区别详解
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数
- Lua常用时间函数使用实例