第二次团队作业-团队

github地址

 //这算团队写的?

思路

  因为之前接触过一个游戏引擎,所以这次游戏的实现方法是模仿那个引擎的做的。

  //主函数的代码

  这是选完实现英雄以后开始战斗的代码,选英雄的代码,组长还在实行中。

  死循环前有两个函数分别是,导入读取,和初始化地图。

int main()
{
	hwnd=initgraph(1728, 768);//创建窗口
	hdc= GetDC(hwnd);//获得窗口hdc
	LOADING();//读取图片
	ALL_ini();//初始化游戏
	while (1)//死循环
	{
		GetLocalTime(&now);//开始执行代码的时间 
		//游戏此处执行
		ALL_draw();//绘制窗口
		ALL_play();//游戏运行
		Sleep(10);//休息一段时间
	   //		
	
		GetLocalTime(&last); //执行完代码的时间 
		dr_time=find_time(last, now);
	}
	closegraph();//关闭窗口
	return 0;
}

  主函数的死循环主要包含三个部分,控制死循环多少秒执行一次的Sleep()函数,这个功能还没写好,因为不知道游戏写完运行一次这个死循环需要多久,所以帧率也还没定好。

  其余两个部分是游戏的核心绘制窗口和游戏运行,绘制窗口函数会绘制窗口所有物体/*废话*/

  游戏运行部分就比较复杂了,/*这里先不说*/

 类

  精灵类:

    这是最简单的一个类,也是唯一一个非封闭类,是后面所以封闭类的成员对象

    精灵这个概念来自于游戏引擎,(虽然不知道为啥叫这个名字),其实就是多张图片的集合;

    其中pic[]这个CImage的数组装了这个游戏大部分图片,精灵类记录了这个精灵对象的图片是这个大数组的第几张到第几张。

class sprite
{
	public:
		sprite(int num, int be )//精灵图片的数量 开始的位置
			{
				pic_num = num;
				begin = be;
			}
		sprite() {
		}
		~sprite() {
		}
		int pic_num;//图片数量
		int begin;
		void show(int x, int y, int index,HDC hdc, CImage pic[])//index 0 开始
		{
			pic[index+begin].Draw(hdc, x, y);
		}
};

  英雄类

       即玩家控制的对象。代码还没写完。

  建筑类(固体类)

      这个游戏里唯一的固体?包括防御塔,水晶,和泉水。代码还没写完。

  小兵类

      写小兵类的人本来想和英雄合并,当时偷懒把小兵AI简化成弱智了,所以小兵最后单独出一个类来了。

  伤害类

       就是所有子弹啊,技能这些东西的,这个类一言难尽,游戏策划,写了12个技能,估计会是代码量最常的类了吧。还没开始让人写

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

随笔地址:

031702512   骆友鹏

031702517   刘俊杰

031702520   池九锡

031702524    罗继鸿

031702548    宋奕

 

posted @ 2018-06-19 17:30  宋奕  阅读(137)  评论(2编辑  收藏  举报