/* 2. 3. 2. 4. 5. 3. *Copyright (c) 2016,烟台大学计算机学院 6. 7. 4. 8. 9. 5. *All rights reserved. 10. 11. 6. 12. 13. 7. *文件名称:test.cpp 14. 15.8. 16. 17. 9. *作者: 武聪 18. 19. 10. 20. 21. 11. *完成日期:2016年5月8日 22. 23.12. 24. 25. 13. *版本号:v1.0 26. 27. 14. *问题描述:游戏中的角色类 28. 29.15. *输入描述:游戏中的角色类 30. 31.16. *程序输出:游戏结果 32. 33. 17. */ 34.#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; else life=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; } } 35.bool Role::isAlived() { return life; } 36.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<<"---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; }
运行结果:
知识点总结:
函数的使用
学习心得:
对游戏没有了解