您所在位置:网站首页 > 海量文档

&nbsp>&nbsp行业资料&nbsp>&nbsp航空/航天

飞机大战实训报告.doc22页

本文档一共被下载:次,您可全文免费在线阅读后下载本文档。

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者。

3.登录后可充值,立即自动返金币,充值渠道很便利

程序设计综合实践

实习报告

学院名称信息科学与工程学院专业班级软件工程2012-3学生姓名程大川学号201201051002指导教师孙红梅

山 东 科 技 大 学

一、实习题目:四、

指导教师(签章):

2014年 月 日

目 录

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双缓冲技术

利用普通的绘制函数对项目中元素进行绘图时,由于绘图时机不一定连续,绘图效率不一定统一,会造成重影和闪屏的不良效果,为了解决这一问题,可以利用双缓冲技术,先将要绘制的每部分内容存储到内存中的一个虚拟的绘图设备中,当所有部分的内容都绘制完毕后,再一次性的将内存中的内容绘制到真实屏幕上,实现这一方式,可以在程序定义一个CDC指针变量和CBitmap指针向量实现,在构造函数中为两个指针分配内存空间,将所有的图像绘制完毕后,再利用GetDC函数取得真实窗口CDC指针和BitBlt函数将内存中的内容完整的拷贝至真实屏幕上。

2.5连续按键处理技术

在飞机大战项目中,需要根据键盘输入决定游戏中各种位置的改变和一些变量的内容,在利用战机发射子弹或者进行移动时,需要按下键盘的空格键或者方向键,在该项目中,如果利用MFC中提供的默认消息处理函数进行按键消息的处理,则会导致子弹发射频率过快,战机移动过快,甚至程序卡死等严重问题,所以应将按键消息处理放在OnTimer函数里,以达到平滑的移动和发射子弹效果

2.6碰撞处理技术

在该项目中,需要处理对象之间的各种碰撞,比如,战机子弹与敌机的碰撞、敌机子弹与战机的碰撞、敌机与战机的碰撞、子弹与客机的碰撞等等。在处理碰撞时,可以为每个对象设置一个与位图大小相同的矩形,矩形的位置与对应位图所在位置一直,当判断两个元素是否发生了碰撞时,只需要利用IntersectRect函数判断两个矩形是否相交即可。

2.7链表存储技术

一局游戏中会有很多的敌机,敌机子弹以及战机子弹,并且需要其进

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名:

验证码:

匿名?

发表评论

python飞机大战实训报告200_飞机大战实训报告.doc相关推荐

  1. python飞机大战任务报告_Python飞机大战实战项目案例

    都说实践是检验知识掌握程度的最好测试.随着Python学习者的增长,越来越多的零基础入门课程让人眼花缭乱.虽然说基础理论的学习十分重要,但是如果仅仅只学习理论知识,也是远远不够的.飞机大战的项目实战可 ...

  2. 计算机软硬件作品构思报告,计算机方面的实训报告

    仅供参考: 实训项目任务书 项目名称:动画设计制作 系 别: 计算机工程系 专 业: 数字媒体设计 班 级: 1 3 1 /132 学生姓名: 指导教师: ### 北 信 2004 年 12 月 19 ...

  3. 微型计算机系统配置实训报告,微机配置方案设计实训报告2018

    WORD 格式 专业资料整理 实训4微机配置方案设计实训报告 针对整机性能需求特点,选择装机所需的主板.CPU .内存条.硬盘.光驱. 实训内容输入/输出设备等部件,确定其品牌.规格.性能指标和单价, ...

  4. php实训心得体会doc,php实训报告心得体会php实训报告心得体会

    php实训报告心得体会php实训报告心得体会Tag内容描述: 1.php实训心得]php心得体会 php实训心得 PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服 ...

  5. 计算机的常见故障处理实验报告,实训13 微机常见故障处理实训报告.doc

    实训13 微机常见故障处理实训报告 实训13 微机常见故障处理实训报告 实训内容 1.电源常见故障 2.CPU.主板和内存常见故障 3.基本输入/输出系统常见故障 4.硬盘常见故障 实训要求 掌握计算 ...

  6. 实训项目——多语言学习app 总结报告

    文章目录 实训项目--多语言学习app 总结报告 1. app 介绍 1. 运行app 2. 界面效果 2. 开发过程 1. 开发环境 2. 项目结构 3. 欢迎界面 4. 用户与学习界面 5. 语言 ...

  7. 计算机网络技术实训报告大一,计算机网络技术实训报告.doc

    文档介绍: 信息工程系 综合实训报告 姓名:                XXX 学号:            XXXX 专业:          计算机网络技术 实训地点:             ...

  8. 实训项目计算机基础知识实训报告,计算机应用基础(本)形考作业实训2学习实训报告.docx...

    <计算机应用基础(本)形考作业实训2学习实训报告.docx>由会员分享,提供在线免费全文阅读可下载,此文档格式为docx,更多相关<计算机应用基础(本)形考作业实训2学习实训报告.d ...

  9. python实验报告及源代码-python满分实验报告:红心大战源代码源码程序

    python满分实验报告:红心大战源代码/ python满分实验报告:红心大战源代码/python_红心大战游戏_满分原创作业/ python满分实验报告:红心大战源代码/python_红心大战游戏_ ...

最新文章

  1. 公司的电脑为什么卡——因为缺少工程师文化!
  2. Android判断网络连接是否可用【从新浪云搬运】
  3. 【Linux部署】Greenplum数据库6.13.0单机版【重启实录】(5次报错问题及解决的避坑指南+日志文件查看方法)
  4. 知乎改版api接口之scrapy自动登陆
  5. linux脚本 逻辑运算,Linux-shell-逻辑运算和;
  6. 《标准普通话教程》中对平舌音的发音方法的说明
  7. UDT中select异常
  8. 英语四级真题作文 计算机,英语四级作文 Computers-计算机_2000字_英语作文
  9. mysql存储过程执行报错1175_mysql 数据库 存储过程执行报错的解决办法
  10. SpringMVC_Controller注解与RequestMapping
  11. 查看电脑的CPU个数,核数,逻辑核数
  12. Unity ToLua 中Update的调用流程
  13. AACL2022会议征稿
  14. [设计模式之禅读书笔记]006_设计模式六大原则(六):开闭原则
  15. 电力线载波通信(PLC)简介
  16. Falcon(一)——数据集管理和数据处理平台
  17. Win12爆料,微软Windows 12计划3月份开始开发
  18. 【华为云会议开发指南】开发流程
  19. halcon学习之回形针方向检测(一)
  20. centOS系统下openGauss极简版安装

热门文章

  1. 面向智能电网的电力大数据存储与分析应用
  2. 【计算机组成原理】双端口RAM和多模块存储器
  3. 有机物燃烧的化学方程式配平(洛谷P1994题题解,Java语言描述)
  4. 深入了解jquery中的ajax方法参数
  5. jenkins即将重启问题
  6. Kubernetes基础:Pod的详细介绍
  7. Windows 7 HomeGroup的隐私保护
  8. java 原子量Atomic举例(AtomicReference)
  9. SAP WM The Link Between TR and TO Document
  10. 使用百度媒体云视频解决方案实现html5视频播放功能