飞机大战游戏设计方案与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 3 程序设计综合实践报告 姓名 学号 班级 项目名称 飞机大战游戏设计与实现 实习地点 计算机实验室 实习时间 2015-12-9至2015-12-19 实习成绩 指导教师签字 信息科学与工程学院 2015年 12月20日 目 录 TOC \o 1-3 \h \u 7972 1. 概述 1 21195 1.1 关卡设置 1 20038 1.2 敌机设置 1 8625 1.3 战机设置 1 31301 1.4 游戏设置 1 19131 2. 相关技术 2 4791 2.1 Windows定时器技术 2 30428 2.2 双缓冲技术 2 7564 2.3 获取矩形区域 2 22993 3. 总体设计与详细设计 2 22262 3.1 系统模块划分 2 16602 3.2 主要功能模块 3 14754 4. 编码实现 4 23710 4.1 初始准备 4 31136 4.2 战机对象 6 18147 4.3 敌机对象 7 4017 4.4 道具对象 9 2870 4.5 主要内容 10 8141 4.6 窗口显示信息 18 29123 5. 实训中遇到的主要问题及解决方法 20 7461 5.1 产生中断及解决方案 20 1506 5.2 图片闪烁问题及解决方案 20 24303 6. 实训体会 20 PAGE PAGE 19 1. 概述 项目:飞机大战 主要功能有以下几点: 1.1 关卡设置 本次飞机大战游戏中共设置了四个关卡,第一关的难度设置较低,仅有敌机对其进行攻击;第二关在原有的基础上增加一些补血的小道具,当积分达到一定的时候便会出现该道具,并且敌机出现的频率也比第一关高;第三关在第二关的基础上新出现了小boss,并增加了其他的道具;第四关在第三关的基础上再新出现大boss,当积分达到要求以及大boss被消灭后通关成功。 1.2 敌机设置 小敌机随机出现,炮弹也随机发射,当小敌机与战机相撞或被战机的子弹击中时,小敌机消失。当达到一定积分时,小boss出现并随机发射出与小敌机一样的炮弹,但是炮弹分三个方向发射出。当小boss被战机的子弹击中或与战机相撞时失去5滴血。当到达四关并且积分足够多时出现大boss,同小boss一样,当大boss与战机相撞或被战机子弹击中时失去1滴血。除此之外,小boss和大boss上方都有血条显示,当血条消失时意味着生命消失,大boss和小boss消失。小boss会在屏幕上随机出现和走动出了屏幕后会在屏幕的任意地方再随机出现,直至血量为0消失。大boss则在屏幕中随机走动不出屏幕,直至血量为0消失。 1.3 战机设置 战机初始有五条生命,每条命的血量为50,所获得的积分以及其生命值、血条都在窗口的左上角显示。在第一、二关时,按空格键战机会出现两个向上发射的炮弹,到第三、四关的时候,按空格键战机会发射三个不同方向的炮弹。战机吃到药瓶道具时血量会增加20,但不可以超过50;吃到闪电道具时,便可放大招,放大招的次数为15。当战机被敌方的炮弹击中或与敌方相撞时,血量减少,减少为0时生命值减1,直至生命值为0。 1.4 游戏设置 进入游戏时,会有背景音乐,窗口左上角显示战机所得积分及其生命值。根据积分情况进入不同的关卡。游戏通关时屏幕清空,并显示通关成功,按Y可重新开始游戏。当战机的血量以及生命值为0时,游戏失败,屏幕清空并显示游戏结束,按Y即可重新开始游戏。 2. 相关技术 2.1 Windows定时器技术 Windows定时器是一种输入设备,它周期性地在每经过一个指定的时间间隔后就通知应用程序一次。程序将时间间隔告诉windows,然后windows给你的程序发送周期性发生的WM_YIMER消息以表示时间到了。本程序在OnCreate()函数中使用了编号为1的定时器,控制了每30毫秒刷新一次。 2.2 双缓冲技术 在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样即可解决图片闪烁问题。本程序在绘制滚动背景以及飞机,敌机等中用到了该技术。 2.3 获取矩形区域 用CRect定义一个对象,利用这个对象得到要用到的矩形区域,用IntersectRect函数来判断两个源矩形是不是有重合的部分。 3. 总体设计与详细设计 3.1 系统模块划分 飞机大战游戏主要模块可以说是有几个重要的类组成的。首先是老师给出的CGameObject类,以及在其派生下的Bomb,Ball,Enemy,MyPlane,Explosion,AddBlood等等此处不一一列举。另外还有CObj

您可能关注的文档

文档评论(0)

phl805 + 关注
实名认证
文档贡献者

建筑从业资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月12日上传了建筑从业资格证

1亿VIP精品文档

相关文档