基于QT的飞机大战游戏设计与实现 课程论文+项目源码及可执行exe文件

资源下载地址:https://download.csdn.net/download/sheziqiong/85695321
资源下载地址:https://download.csdn.net/download/sheziqiong/85695321
目录

  1. 概述 2
  2. 相关技术 2
    2.1 战机的移动 2
    2.2 随机产生敌机 2
    2.3 游戏背景 3
    2.4 击杀敌机数量板(得分板) 4
    2.5 生命值显示 4
    2.6 碰撞检测 4
  3. 总体设计与详细设计 4
    3.1 系统模块划分 4
  4. 编码实现 5
  5. 开始游戏的函数 5
  6. 碰撞检测功能的实现 6
  7. 将贴图绘制到程序界面中去 8
  8. 更新所有贴图位置的函数 9
  9. 贴图类的实现 (以Plane类为例子) 10
  10. 实训中遇到的主要问题及解决方法 14
  11. 怎么使用文本框来显示内容,怎么实现其样式的改变 14
  12. connect函数的使用 14
  13. 按钮是怎么进行定位使用的 14
  14. 如何利用键盘来控制战机的移动 14
  15. 如何绘制图像 14
  16. 实训体会 14
  17. 概述
    这次所做的项目是飞机大战游戏,主要实现了战机的移动和导弹自动发射、敌机的自动移动和子弹的随机发射、背景的滚动和自动切换。
  18. 相关技术
    2.1 战机的移动
    通过键盘的WSAD方向键来控制战机实现上下左右移动,用到的技术是监听键盘按键,整个过程分为 keyPressEvent 和keyReleaseEvent,表示键盘按下和键盘释放信号,通过qt的connect和disconnect函数来将主时钟和战机的上下左右移动函数相绑定,通过检测主时钟的脉冲频率和战机移动函数来控制战机的移动速度,config.h中的 PLANE_SPEED宏 是用来规定战机的移动速度的。
    2.2 随机产生敌机
    因为要随机产生敌机,所以要用到随机数,在项目中我使用的是rand()函数,敌机有三个随机的地方,
  19. enemyPlane类中随机决定该敌机是否是高速敌机
  20. enemyPlane类中随机决定该敌机从哪个方向进入选择有两个(上方和下方)
  21. 主窗口中enemyToMainWindow() 函数随机决定敌机出现的x坐标。
    2.3 游戏背景
    游戏的背景是滚动的,我用两张相同的图片来实现背景滚动,第一张图片的的初始位置在游戏界面里,第二张在其底下,不能被看见,图片开始滚动之后,如果第二张图片超出屏幕那么恢复初始状态。
    下边是用图片解释这一过程。
    黑框代表程序显示的界面,能够被用户看见
    蓝色图片是第一张图片 初始是能被用户看见的 然后他开始向上移动
    橘色色图片是第二张图片 初始是不能被用户看见的 然后他开始向上移动
    最终被用户看见
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    资源下载地址:https://download.csdn.net/download/sheziqiong/85695321
    资源下载地址:https://download.csdn.net/download/sheziqiong/85695321

猜你喜欢

转载自blog.csdn.net/newlw/article/details/125359009