• 第二次团队作业-团队


    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    宋奕

  • 相关阅读:
    ES6 常用总结——第一章(简介、let、const)
    那些说自己逻辑好的,过来切磋下啊
    纯css3的上下左右提示框几种方法
    遮罩的几种写法
    送给HTML的初学者——H5的基本结构和标签
    H5柱状图2D小插件
    小白学习H5从入门到放弃
    layui学习笔记
    windows系统安装vue及其配置
    友情链接
  • 原文地址:https://www.cnblogs.com/sy57/p/9199633.html
Copyright © 2020-2023  润新知