[源码和文档分享]基于VC++和OpenCV实现的全民飞机大战游戏
摘要
-
功能:利用C++语言完成了一个小游戏项目-全民飞机大战,该游戏首先能够给用户提供注册,登录功能;提供了菜单栏及两种游戏模式,一种是无尽模式,另一种是一般模式;一般模式中用户通过控制玩家飞机攻击敌方飞机获得分数以及奖励,打死boss飞机后可进入下一关,难度一次增加;玩家也可捡取道具,获得生命值,变换飞机形态。无尽模式中玩家通过躲避炸弹,捡取星星获得奖励,随时间推移,炸弹移动速度加快。玩家飞机阵亡后会显示自己分数,及排行榜
-
核心算法:游戏主控制算法、图片绘制算法、飞机移动算法、导弹追踪算法
-
优点:有较为清楚的软件运行流程,用户可以登录注册,保存数据,还有两种模式可供用户选择,敌方导弹还有追踪功能
-
不足:没有图形化的登录界面,画面感不强,游戏过程中道具种类较少,没有加入鼠标操作
一、项目概述
1.1 项目简介
全民飞机大战,是一款经典的游戏。本软件,首先用户若有账号可以直接登录,若没有可以直接注册,然后登录。登陆成功进入菜单界面,选择模式,进入游戏。游戏中用户通过消灭敌方飞机获得分数,敌方飞机毁灭会爆出奖励,吃到奖励也可以加分,同时还有道具,飞机一共有三种形态,根据捡到道具个数,飞机依次变换形态。在击毁一定数量敌机后,会出现boos飞机,击毁boss飞机后会进入下一关卡,关卡难度依次递增。在通关或我方飞机阵亡时,会出现排行榜,记录当前获得分数,和排名。此软件还有无尽模式,飞机通过捡取奖励星星获得分数,若被障碍物炸弹击中会耗损生命值,根据时间推移,障碍物会移动越来越快,增加游戏难度。直到我方飞机阵亡,而后也会出现排行榜。此外游戏还设有音乐,按键等一些操作。
1.2 功能要求
编号 | 功能模块 | 输入描述 | 操作步骤 | 输出描述 |
---|---|---|---|---|
1 | 开始系统 | 程序已经运行 | 系统开始 | |
2 | 登录 | 程序已经进行 | 按 1键 | 开始登陆 |
3 | 注册 | 程序已经进行 | 按 2 键 | 开始注册 |
4 | 菜单界面 | 程序已经运行 | 通过按键 | 选择模式 |
5 | 无尽模式 | 程序已经运行 | 按Enter 键进入 | 开始游戏 |
6 | 一般模式 | 程序已经运行 | 按Enter 键进入 | 开始游戏 |
7 | 退出游戏 | 程序已经运行 | 按Enter 键进入 | 退出游戏 |
8 | 飞机上移 | 程序已经运行 | 按W键 | 飞机向上移动 |
9 | 飞机下移 | 程序已经运行 | 按S键 | 飞机向下移动 |
10 | 飞机左移 | 程序已经运行 | 按A键 | 飞机向左移动 |
11 | 飞机右移 | 程序已经运行 | 按D键 | 飞机向右移动 |
12 | 攻击 | 程序已经进行 | 按J键 | 我方飞机发出子弹,不同飞机子弹类型不同 |
13 | 消灭 | 程序已经进行 | 玩家子弹与敌方飞机碰撞 | 敌方飞机销毁,爆出奖励 |
14 | 消灭 | 程序已经运行 | 敌方子弹与玩家飞机碰撞 | 玩家飞机掉血,直到被击毁,游戏结束 |
15 | 碰撞1 | 程序已经运行 | 敌方飞机与玩家飞机碰撞 | 敌方飞机与玩家飞机都失血 |
16 | 计分 | 程序已经运行 | 击毁不同飞机,得到分数不同 | |
17 | 碰撞2 | 程序已经运行 | 玩家飞机与奖励星星碰撞 | 得到分数奖励 |
18 | 碰撞3 | 程序已经运行 | 玩家飞机与炸弹碰撞 | 玩家飞机失血 |
19 | 排行榜 | 程序已经运行,游戏结束 | 显示当前分数,与排名 | |
20 | 重玩游戏 | 程序已经运行,游戏结束 | 按Enter键 | 进入菜单选项 |
21 | 退出游戏 | 程序已经运行,游戏结束 | 按ESC键 | 退出游戏 |
二、总体设计
2.1 类关系图
参考文档和完整的文档和源码下载地址:
https://www.write-bug.com/article/1304.html