- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计综合实践
实习报告
学院名称 信息科学与工程学院 专业班级 软件工程2012-3 学生姓名 程大川 学号 201201051002 指导教师 孙红梅
山 东 科 技 大 学
一、实习题目:四、
指导教师(签章):
2014年 月 日
目 录
1. 概述 5
1.1实训概述 5
1.2功能概述 5
2. 相关技术 5
2.1滚动背景技术 5
2.2透明贴图技术 5
2.3定时器技术 5
2.4双缓冲技术 6
2.5连续按键处理技术 6
2.6碰撞处理技术 6
2.7链表存储技术 6
2.8动态效果技术 6
3.需求分析 7
3.1功能需求分析 7
3.2数据需求分析 7
3.3行为需求分析 8
3.4其他需求 8
4. 总体设计与详细设计 8
4.1 系统模块划分 8
4.2 主要功能模块 9
4.2.1玩家控制模块设计图 9
4.2.2游戏逻辑模块设计图(包含关卡控制) 9
4.2.3 图形显示模块设计(包含敌方生成模块) 10
4.3 主要类图 12
4.4 软件结构设计体会 12
5. 编码实现 12
5.1编码规范 12
5.2代码组织策略 13
5.3关键技术代码实现 13
6.测试情况说明。 21
6.1主要模块测试情况 21
模块1、碰撞模块测试 21
模块2、滚动背景模块测试 21
模块3、关卡模块测试 22
6.2 主要功能测试情况 22
功能1、飞机控制功能测试 22
功能2、能量块吃取功能测试 22
功能3、BOSS功能测试 22
功能3、显示功能测试 22
7. 实训中遇到的主要问题及解决方法 22
8. 实训收获与体会 23
1. 概述2. 相关技术
2.1滚动背景技术
为了让游戏场景更加逼真,游戏节奏更加合理,可以通过让背景滚动来提高游戏的场景效应,实现这一技术时,可以将一张背景图片复制为三张,从上到下连续的拼接在一起,并将中间的图片进行垂直翻转,在输出图像时,每次只输出合成后图片的1/3部分,每次输出后,将位图中的纵坐标输出位置增加一个位移量,当输出位置到达图片的2/3部分时,将图片的纵坐标输出位置置为0,由于图片的起始位置和图片的2/3位置是一致,所以在背景图片的显示中,不会出现图片的卡顿和瞬移现象。
2.2透明贴图技术
在飞机大战项目中,需要将很多的BMP图像贴到画布上,结合逻辑处理完成对整个游戏的设计,为了实现更好的显示效果,使移动元素所用的图像更加贴合背景,则需要利用透明贴图技术,将BMP图像中的无关颜色做透明处理,实现方式为调用CDC中的TransparentBlt函数,并且利用函数的最后一个参数填写RGB信息,实现对对应颜色的透明化。
2.3定时器技术
为了实现屏幕的定时刷新功能和暂停功能,需要设置定时器,当设置好时间间隔时,每次经过一个设置的时间间隔,Windows都会向程序发送一个WM_TIMER,并且调用相关函数,程序执行OnTimer函数,并根据定时器编号执行相应的操作。实现方式为使用SetTimer函数设置定时器标识和时间间隔。另外也可以利用定时器实现对连续按键的处理,使子弹发射和移动效果更加平滑合理。
2.4双缓冲技术
利用普通的绘制函数对项目中元素进行绘图时,由于绘图时机不一定连续,绘图效率不一定统一,会造成重影和闪屏的不良效果,为了解决这一问题,可以利用双缓冲技术,先将要绘制的每部分内容存储到内存中的一个虚拟的绘图设备中,当所有部分的内容都绘制完毕后,再一次性的将内存中的内容
文档评论(0)