第五周项目2(1)
来源:互联网 发布:整篇文章翻译软件 编辑:程序博客网 时间:2024/05/01 23:41
- *问题描述:基于下面设计的游戏中角色类,补充完整需要的成员函数,使角色能按一定的规则行动。
- */
- #include <iostream>
- using namespace std;
- class Role
- {
- public:
- void eat(int d); //吃东西,涨d血
- void attack(); //攻击别人,涨1血
- void beAttack(); //被攻击,失1血,血为0死掉
- bool isAlived(); //是否活着
- void setRole(string nam, int b); //设置
- void show(); //显示
- private:
- string name;
- int blood;
- bool life;
- };
- void Role::eat(int d) //吃东西,涨d血
- {
- if(isAlived())
- blood+=d;
- }
- void Role::attack() //攻击别人,涨1血
- {
- if(isAlived())
- blood++;
- }
- void Role::beAttack() //被攻击,失1血,血为0死掉
- {
- if(isAlived())
- blood--;
- if(blood==0)
- life=false;
- }
- bool Role::isAlived() //是否活着
- {
- return life;
- }
- void Role::setRole(string nam, int b) //设置
- {
- name=nam;
- blood=b;
- if(blood>0)
- life=true;
- else
- life=false;
- }
- void Role::show() //显示
- {
- cout<<name<<" has "<<blood<<" blood, it is ";
- if(isAlived())
- cout<<"alived.";
- else
- cout<<"dead.";
- cout<<endl;
- }
- int main( )
- {
- Role mary;
- mary.setRole("Mary", 4);
- mary.show();
- mary.attack();
- mary.eat(2);
- mary.beAttack();
- mary.beAttack();
- mary.show();
- return 0;
- }
0 0
- 第五周实践项目1(2)
- 第五周项目2(1)
- 第五周 项目1(2)
- 第五周项目2(1)
- 第五周项目1(2)
- 第五周项目2
- 第五周项目2
- 第五周 项目2
- 第五周项目2
- 第五周【项目2
- 第五周 【项目2
- 第五周项目2
- 第五周项目2
- 第五周 项目2
- 第五周 【项目2
- 第五周 项目2
- 第五周 项目 2
- 第五周 【项目2
- Go语言核心之美 4.3-多返回值
- Redis与Memcached的区别
- 全排列
- 欧拉路 (Fleury算法)
- Fortran 循环
- 第五周项目2(1)
- 【Raspberry Pi系列】4. ARM指令
- 第五周上机实践项目 项目2--游戏中的角色类(2)
- 腾讯在线笔试题-把字符串“I am from china.”反转成为“I am from china.”,以及把整个字符串逆序。
- 第五周项目2(2)
- 第6周项目1—分数类的雏形
- Form token KO80SIJW4F84034NG5HM1ZBUGOVNY64D does not match the session token null.
- Leetcode 95. Unique Binary Search Trees II
- Nmap的那些事儿