文档章节

[源码和文档分享]基于MFC类库实现的飞机大战小游戏

M
 MMMgjji7
发布于 2019/08/14 17:16
字数 678
阅读 3
收藏 0

1 概述

1.1 简介

本次实训项目是做一个飞机大战的游戏,完成一个界面简洁、操作简单的桌面游戏。该飞机大战项目主要使用的是MFC编程,运用MFC中的类以及自己创建的类,设计好各个类之间的继承关系,实现飞机大战游戏的简单功能。

1.2 基本功能

设置一个战机具有一定的速度,通过键盘,方向键可控制战机的位置,空格键发射子弹

界面中敌机出现的位置,以及敌机炸弹的发射均为随机的,敌机与敌机炸弹均具有一定的速度,且随着关卡难度的增大,数量和速度均增加

对于随机产生的敌机和敌机炸弹,若超过矩形区域,则释放该对象

添加爆炸效果,包括战机子弹打中敌机爆炸、敌机炸弹打中战机爆炸、战机与敌机相撞爆炸以及战机子弹与敌机炸弹相撞爆炸四种爆炸效果。且爆炸发生后敌机、子弹、炸弹均消失,战机生命值减一

1.3 扩展功能

为游戏界面添加了背景图片,并在战机击中敌机、敌机击中战机、以及战机敌机相撞时均添加了背景音效。

为游戏设置了不同的关卡,每个关卡难度不同,敌机与敌机炸弹的速度随着关卡增大而加快,进入第三关以后敌机从上下方均会直接向战机次发射炸弹。战机每打掉一个敌机则增加一分,同时为战机增加一个生命值,当战机得分超过100分则可进入下一关;每进入一关敌机速度都会加快,分别从上下两方飞出,在第四关和第五关有boss,分别以不同的方式发射子弹

在游戏界面输出当前游戏进行信息,包括当前得分、当前关卡、生命值以及boss生命值

增加了鼠标控制战机位置这一效果,战绩的位置随着鼠标的移动而移动

实现了暂停游戏的功能,玩家可通过键盘上的‘Z’键,对游戏进行暂停。‘S’键开始

实现了设置游戏难度的功能,可以通过菜单栏上的设置难度选项设置难度。同时菜单实现了查看游戏说明和重新开始的功能

源码下载地址:https://www.write-bug.com/article/1444.html

© 著作权归作者所有

M
粉丝 0
博文 645
码字总数 230015
作品 0
沈阳
私信 提问
Aery的UE4 C++游戏开发之旅(3)蓝图

目录 蓝图 暴露C++至蓝图 蓝图和C++的结合方案 参考 蓝图 大家都知道,蓝图是UE4提供的极其容易上手的一种可视化脚本,更具体的就不说了。 纯靠蓝图搭建的UE4游戏是存在的,但是这类游戏往往...

KillerAery
2019/12/14
0
0
C++ 类库资源

原文:C++ 类库资源 作者:Breaker C/C++ 开发库 | C/C++ Development Library 这里收集一些著名的 C/C++ 开发库、SDK、类库、可复用类与结构代码 等信息,列举它们的介绍、参考和网站链接,...

晨曦之光
2012/05/23
1.9K
0
C与C++的区别有这么大么?.c源码转.cpp错误百出

浏览到一个坦克大战游戏的控制台程序,源文件是.c,添加到工程中编译通过,大体可以运行,转为.cpp文件却错误百出,不禁汗颜。难道C与C++差距有这么大么。。。 源码出处:http://www.osch...

Y_F
2014/03/06
75
0
C++ 中命名空间的 5 个常见用法

原文出处:CppDepend Team 译文出处:王江平 译者注:可能很多程序员对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间...

CppDepend Team
2017/06/16
0
0
Tars RPC框架C++语言的源代码 - TarsCpp

该工程是Tars RPC框架C++语言的源代码 目录名称 功能 servant C++语言框架rpc的源码实现 tools C++语言框架IDL工具的源码实现 util C++语言框架基础工具库的源码实现 examples C++语言框架的...

匿名
2019/05/14
806
0

没有更多内容

加载失败,请刷新页面

加载更多

Go Web 编程之 数据库

概述 数据库用来存储数据。只要不是玩具项目,每个项目都需要用到数据库。现在用的最多的还是 MySQL,PostgreSQL的使用也在快速增长中。 在 Web 开发中,数据库也是必须的。本文将介绍如何在...

darjunlee
今天
51
0
spring-boot-maven-plugin not found的解决方案。

通过IDE创建一个springboot项目, <plugin> <groupId>org.springframework.boot</groupId>//这行红色 <artifactId>spring-boot-maven-plugin</artifactId>//这行红色</plugin> 提示sprin......

一片云里的天空
今天
84
0
OSChina 周三乱弹 —— 我可能是个憨憨

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @宇辰OSC :分享Hare Je的单曲《Alan Walker-Faded(Hare Je remix)》: #今日歌曲推荐# 可以放松大脑的一首纯音乐 《Alan Walker-Faded(Har...

小小编辑
今天
266
3
搞定SpringBoot多数据源(3):参数化变更源

春节将至,今天放假了,在此祝小伙伴们新春大吉,身体健康,思路清晰,永远无BUG! 一句话概括:参数化变更源意思是根据参数动态添加数据源以及切换数据源,解决不确定数据源的问题。 1. 引言...

mason技术记录
昨天
99
0
sql 基础知识

sql 基础知识 不要极至最求一条sql语句搞定一切,可合理拆分为多条语句 1. sql 变量定义与赋值 Sql 语句中,直接在SELECT使用@定义一个变量,如:[@a](https://my.oschina.net/a8856225a)。 ...

DrChenXX
昨天
57
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部