类的设计与实现 设计一个游戏的某个简单过程

大作业1 类的设计与实现

一、实验目的

  1. 掌握类的设计与实现
  2. 了解如何根据描述发现类及其成员,具备初步的面向对象分析与设计能力

二、实验内容

  1. 请选择一个你所熟悉的游戏,分析其中的某个场景所涉及的类,及其各个类的属性和行为,完成类的定义。
  2. 请选择该游戏的一个简单的游戏过程,分析其中涉及的对象及其对象之间的交互,完成该过程的游戏过程框架。

三、实验结果

请用文字描述分析过程,以伪代码的形式给出类定义和游戏框架,以“学号+姓名”命名后,上传至BlackBoard—网上作业栏目--大作业1。

四、实验过程

本人是初学者,大佬不屑勿喷。

看到这个题目就想起王者荣耀这个游戏,想设计英雄打野怪的一个小过程,不过限于本人水平,只能将其抽象抽象再抽象,简化简化再简化,最后是:英雄打一个野怪,每打一次双方都会掉血,但英雄经验会增加,经验增加到一定程度英雄等级会提升,等级提升会强化自身生命和伤害,直到打架的双方有一个挂掉(野怪必然挂掉)。

选择描述王者荣耀里面打野的简单化过程,其中涉及到两个类,一个是英雄,一个是野怪。

对于英雄这个类,定义其属性有生命值、等级、经验和伤害,其行为是打怪过程中生命值会因为受到野怪伤害而减少,同时自身经验也会增加,经验增加到一定程度英雄等级会提升,等级提升会强化自身生命值和伤害。

对于野怪这个类,定义其属性有生命值和伤害,其行为是过程中生命值会因为收到英雄伤害而减少。

五、代码

//类界面 
class hero//定义英雄类 
{
	private:
		int hp;//生命值 
		int rank;//等级 
		int exp;//经验 
		int damage;//伤害 
	public:
		void initial();//初始化 
		void Uprank();//升级 
		int Upexp();//经验增加 
		int Hp(int damage);//掉血 
		int Damage();//返回伤害值		
};
class monster//定义野怪 
{
	private:
		int hp;//生命值 
		int damage;//伤害 
	public:
		void initial();//初始化 
		int Hp(int damgage);//掉血 
		int Damage();//返回伤害值	
};
//类定义 
void hero::initial()//英雄初始化 
{
	hp=1000;
	rank=1;
	exp=0;
	damage=100;	
}
int hero::Upexp()//增加经验 
{
	return exp+=10;
}
void hero::Uprank()//升级 
{
	rank++;//等级提升 
	hp=hp+200;//生命值增加 
	damage=damage+50;//伤害强化 
}
int hero::Hp(int damage)//掉血 
{
	return hp=hp-damage;
}
int hero::Damage()//返回伤害值 
{
	return damage;
}
void monster::initial()//野怪初始化 
{
	hp=500;
	damage=30;
}
int monster::Hp(int damage)//掉血 
{
	return hp=hp-damage;
}
int monster::Damage()//返回伤害值 
{
	return damage;
}
//
int main()
{
	hero Jungle;//定义Jungle这个英雄 
	monster Boss;//定义boss这个野怪 
	Jungle.initial();
	Boss.initial();
	while(Jungle.Hp(Boss.Damage())||Boss.Hp(Jungle.Damage()))//开打直到其中一方挂掉 
	{
		if(Jungle.Upexp()%100==0)//打一次经验提升,经验每提升100就升一级 
		Jungle.Uprank();
	}		
} 

猜你喜欢

转载自blog.csdn.net/weixin_62264287/article/details/123532964