战机飞机大战游戏设计与实现

全民飞机大战星星战机  时间:2021-01-22  阅读:()

程序设计综合实践报告

信息科学与工程学院

2015年12月20日

目录

1 .概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1 .1关卡设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1 /23

1 .2敌机设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1 .3战机设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1 .4游戏设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

2.相关技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

2.1 Windows定时器技术. . . . . . . . . . . . . . . . . . . . . . . . . . . .2

2.2双缓冲技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

2.3获取矩形区域. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

3. 总体设计与详细设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

3.1系统模块划分. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

3.2主要功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

4.编码实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

4.1初始准备. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

4.2战机对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

4.3敌机对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

4.4道具对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

4.5主要内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

4.6窗口显示信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

5.实训中遇到的主要问题及解决方法. . . . . . . . . . . . . . . . . . . . .20

5.1产生中断及解决方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

5.2 图片闪烁问题及解决方案. . . . . . . . . . . . . . . . . . . . . . . . .20

6.实训体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

2/23

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即可重新开始游戏。

1 /23

2.相关技术

2.1 Windows定时器技术

Windows定时器是一种输入设备 它周期性地在每经过一个指定的时间间隔后就通知应用程序一次。程序将时间间隔告诉windows 然后windows给你的程序发送周期性发生的WM_YI M E消息以表示时间到了。本程序在OnCreate()函数中使用了编号为1的定时器控制了每30毫秒刷新一次。

2.2双缓冲技术

在内存中创建一个与屏幕绘图区域一致的对象 先将图形绘制到内存这个对象上 再一次性将这个对象上的图形拷贝到屏幕上 这样即可解决图片闪烁问题。本程序在绘制滚动背景以及飞机敌机等中用到了该技术。

2.3获取矩形区域

用CRect定义一个对象 利用这个对象得到要用到的矩形区域 用I nte rsect Rect函数来判断两个源矩形是不是有重合的部分。

3. 总体设计与详细设计

3.1系统模块划分飞机大战游戏主要模块可以说是有几个重要的类组成的。 首先是老师给出的CGameObject类 以及在其派生下的Bomb,Bal l ,Enemy,MyPlane,Explosion,AddBlood等等此处不一一列举。另外还有CObject派生的BackGround类。

如下图

2/23

CObjert

Class

CBackGrOudd 苇pubpgbl ic CGam^Objtct

□1S5■+CObjKt dass

TCObject

publ ic publ ic publ icCBal ldw CAddBomb /""I CBomb CBoofl i l lS CBornb2 CEnemy

pu

CAddBlood CBMI CMyPhne CLittleBo»馬das CExploi ion

Chs CIB55 ■KGimeObjett Class

^CGamtObject ■+CGameOb'ec ■frCGameObject -f'CG&meCljjectt

主要功能是在飞机大战 View类中, On Timer函数中实现将各个类调用随机产生敌

3.2主要功能模块

机子弹的输出爆炸的实现等等。它的实现图可以如下实现:

本程序所包含的功能和类模块:

3/23

4.编码实现

4.1初始准备

4/23

5/23

4.2战机对象

6/23

4.3敌机对象

7/23

恒创科技SonderCloud,美国VPS综合性能测评报告,美国洛杉矶机房,CN2+BGP优质线路,2核4G内存10Mbps带宽,适用于稳定建站业务需求

最近主机参考拿到了一台恒创科技的美国VPS云服务器测试机器,那具体恒创科技美国云服务器性能到底怎么样呢?主机参考进行了一番VPS测评,大家可以参考一下,总体来说还是非常不错的,是值得购买的。非常适用于稳定建站业务需求。恒创科技服务器怎么样?恒创科技服务器好不好?henghost怎么样?henghost值不值得购买?SonderCloud服务器好不好?恒创科技henghost值不值得购买?恒创科技是...

杭州王小玉网-美国CERA 2核8G内存19.9元/月,香港,日本E3/16G/20M CN2带宽150元/月,美国宿主机1500元,国内宿主机1200元

官方网站:点击访问王小玉网络官网活动方案:买美国云服务器就选MF.0220.CN 实力 强 强 强!!!杭州王小玉网络 旗下 魔方资源池 “我亏本你引流活动 ” mf.0220.CNCPU型号内存硬盘美国CERA机房 E5 2696v2 2核心8G30G总硬盘1个独立IP19.9元/月 续费同价mf.0220.CN 购买湖北100G防御 E5 2690v2 4核心4G...

美国高防云服务器 1核 1G 26元/月 香港/日本站群服务器 E5 16G 1600元/月 触摸云

触摸云国内IDC/ISP资质齐全商家,与香港公司联合运营, 已超8年运营 。本次为大家带来的是双12特惠活动,美国高防|美国大宽带买就可申请配置升档一级[CPU内存宽带流量选一]升档方式:CPU内存宽带流量任选其一,工单申请免费升级一档珠海触摸云科技有限公司官方网站:https://cmzi.com/可新购免费升档配置套餐:地区CPU内存带宽数据盘价格购买地址美国高防 1核 1G10M20G 26...

全民飞机大战星星战机为你推荐
名侦探柯南644名侦探柯南有工藤新一的从345到现在有哪几集?法兰绒和珊瑚绒哪个好法兰绒和珊瑚绒睡衣哪个好?手动挡和自动挡哪个好手动挡车和自动挡的哪个好?音乐播放器哪个好最好的音乐播放器是什么手机浏览器哪个好用手机用哪个浏览器好一点铁通dns服务器地址嘉兴铁通的DNS服务器地址是多少?360云网盘下载360云盘怎么下载和移走以前的文件?360云存储360网盘目前最大空间是多少360云盘怎么用360云盘怎么用最好360云盘论坛360云盘怎样不能存视屏了
vultr美国与日本 60g硬盘 帽子云 赞助 可外链相册 免费cdn starry cxz 全能空间 php服务器 德讯 杭州电信宽带 google搜索打不开 湖南铁通 月付空间 什么是dns 2016黑色星期五 gotoassist 卡巴斯基免费版下载 一句话木马 更多