第六周项目2-带武器的游戏角色
2016-04-03 10:53
232 查看
问题及代码:
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年4月3日
*版 本 号:v1.0
*
*问题描述:设计一个游戏中角色的类,定义其中的变量,使角色可以改变状态,在先前的基础上加入武器的选项
*输入描述:根据提示,输入选项,武器的种类
*程序输出:角色的状态
*/
#include<iostream>
using namespace std;
class role
{
public:
void eat();
void attack(int n);
void beattack(int g);
bool isalived();
void setrole(string name,int b);
void show();
private:
string name;
int blood;
bool life;
};
bool role::isalived()
{
if(blood>0)
return true;
else
return false;
}
void role::eat()
{
if(isalived())
blood+=1;
}
void role::attack(int n) //wuqi
{
blood+=n;
}
void role::beattack(int g)
{
if(isalived())
blood-=g;
}
void role::setrole(string nam ,int b)
{
name=nam;
blood=4;
}
void role::show()
{
if(blood>0)
cout<<" mary has "<<blood<<" blood,it is alived."<<endl;
else
cout<<" mary was over."<<endl;
}
int main()
{
role mary;
mary.setrole("marry",4);
mary.show();
int n;
while(n>0)
{
int n,g,x;
cout<<" attack:1 beattack:2 eat:3 "<<endl;
cout<<"please choose your activity:";
cin>>n;
if(n==1)
{
cout<<"请选择你要使用的武器: 1倚天剑 2屠龙刀 :";
cin>>x;
if(x==1)
mary.attack(2);
else
mary.attack(3);
}
else if(n==2)
{
cout<<"请选择对方使用的武器: 1轩辕剑 2风火轮 :";
cin>>g;
if(g==1)
mary.beattack(1);
else
mary.beattack(3);
}
else if(n==3)
{
mary.eat();
}
else
{
break;
}
mary.show();
cout<<"\n\n\n\n";
}
return 0;
}
运行结果:
知识点总结:
类
学习心得:
持续努力,保持激情。
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年4月3日
*版 本 号:v1.0
*
*问题描述:设计一个游戏中角色的类,定义其中的变量,使角色可以改变状态,在先前的基础上加入武器的选项
*输入描述:根据提示,输入选项,武器的种类
*程序输出:角色的状态
*/
#include<iostream>
using namespace std;
class role
{
public:
void eat();
void attack(int n);
void beattack(int g);
bool isalived();
void setrole(string name,int b);
void show();
private:
string name;
int blood;
bool life;
};
bool role::isalived()
{
if(blood>0)
return true;
else
return false;
}
void role::eat()
{
if(isalived())
blood+=1;
}
void role::attack(int n) //wuqi
{
blood+=n;
}
void role::beattack(int g)
{
if(isalived())
blood-=g;
}
void role::setrole(string nam ,int b)
{
name=nam;
blood=4;
}
void role::show()
{
if(blood>0)
cout<<" mary has "<<blood<<" blood,it is alived."<<endl;
else
cout<<" mary was over."<<endl;
}
int main()
{
role mary;
mary.setrole("marry",4);
mary.show();
int n;
while(n>0)
{
int n,g,x;
cout<<" attack:1 beattack:2 eat:3 "<<endl;
cout<<"please choose your activity:";
cin>>n;
if(n==1)
{
cout<<"请选择你要使用的武器: 1倚天剑 2屠龙刀 :";
cin>>x;
if(x==1)
mary.attack(2);
else
mary.attack(3);
}
else if(n==2)
{
cout<<"请选择对方使用的武器: 1轩辕剑 2风火轮 :";
cin>>g;
if(g==1)
mary.beattack(1);
else
mary.beattack(3);
}
else if(n==3)
{
mary.eat();
}
else
{
break;
}
mary.show();
cout<<"\n\n\n\n";
}
return 0;
}
运行结果:
知识点总结:
类
学习心得:
持续努力,保持激情。
相关文章推荐
- Android APP 终极瘦身指南
- 无法获得数据库'model'上的排他锁 解决方法
- 如何定义 Java 中的方法
- 描述商品的结构类型
- 一篇文章透彻解读聚类分析及案例实操
- EDM营销的关键在于数据库的筛选和挖掘
- 插入排序
- Session的生命周期
- 描述商品信息
- 软件工程每周学习进度条
- PHP技术顾问
- ServletConfig对象、ServletContext
- 求最大公约数和最小公倍数
- HDU 1328 IBM Minus One
- 南阳OJ 41三个数从小到大排序 AC
- iOS 保存多张bundle里面的图片到相册
- Integer.parseInt()和Integer.valueOf()有什么区别
- iOS报错--Init methods must return a type related to the receiver type
- 学习型组织与企业
- linux文件分割(将大的日志文件分割成小的)