游戏开始后便开始贪吃蛇的移动,并且会在游戏区域内随机出现果实。玩家控制“上下左右”吃果实。
3.1 概要设计
3.1.1 总体功能架构功能架构如图1.2所示
图 1.2 功能架构图3.1.2 类结构设计
图 1.3 游戏主要类结构
贪吃蛇游戏由6个类组成,如图1.3所示
(1)游戏规则类:主要负责各种类的调用及游戏规则的实现。
(2)主游戏类:主要负责贪吃蛇及果实的更新和显示
(3)蛇身操作类:主要负责贪吃蛇移动。增加及移动方向。
(4)英雄榜对话框类:主要负责游戏分数的统计及高分记录的更新。
(5)音乐播放类:主要负责游戏中背景音乐的播放。
(6)帮助关于对话框类:主要负责帮助提示的显示及其他辅助信息。
3.2 详细设计
3.2.1 各功能模块设计
(1)蛇身操作模块算法设计
蛇身操作模块的算法主要分为如下几步:
A. 得到当前按下的移动方向。
B. 如果遇到果实,则body向量增加一个元素。如么有遇到果实,不更新body向量中的元素。
C. 更新贪吃蛇body向量中的坐标数据。
(2)游戏规则模块的算法设计
游戏规则模块的算法主要分为如下几步:
A. 当蛇身每移动一步时,就对贪吃蛇的头部坐标进行判断。
B. 如果已经与界面的边界坐标或贪吃蛇body向量中的坐标重合,说明贪吃蛇已经碰到墙壁或者自己的身体,这时就弹出游戏结束的提示。
C. 设置游戏状态为结束状态。
(3)英雄榜模块的算法设计
英雄榜模块的算法主要分为如下几步:
A. 读取配置文件,得到并显示当前最高分数记录,大名以及等级。
B. 在用户结束游戏时,比较用户当前得分和最高分。如果高于最高分,就弹出“英雄榜”对话框,要求输入大名,并连同用户的等级和分数保存到配置文件中。
(4)音乐播放模块的算法设计
音乐播放模块比较简单,只要在用户选择音乐播放时,把音乐资源载入程序播放。
(5)帮助类模块的算法设计
帮助类模块的算法也比较简单,只是把相应的对话框资源显示出来即可。
图 1.4 功能流程图
贪吃蛇功能流程图,如图1.4所示。
1.1.1 游戏操作界面设计
(1)游戏主界面的设计
图1.5游戏主界面
贪吃蛇的游戏主界面设计,主要包括:游戏菜单、游戏界面、得分、等级,如图1.5所示。
(2)游戏菜单结构设计
贪吃蛇的游戏菜单设计,主要包括游戏菜单、游戏设置菜单如图1.6所示。
图 1.6 游戏菜单结构
贪吃蛇的游戏菜单设计,主要包括游戏菜单栏、游戏设置菜单栏、游戏帮助菜单栏以及英雄榜菜单栏。其中游戏菜单栏包含了“开始”和“退出” ;游戏设置菜单栏包含了“游戏等级”和“背景音乐” ;游戏帮助菜单栏包含了“帮助”和“关于” 。如图1.6所示。
(3)游戏等级设置菜单的设计
贪吃蛇游戏的等级设置菜单的设计,顾名思义,当单击游戏设置菜单栏中的“游戏等级”时,即弹出等级设置菜单。如图1.7所示。
图 1.7 游戏等级设置菜单 图 1.8 英雄榜对话框 VC++贪吃蛇游戏设计+流程图(10):http://www.youerw.com/jisuanji/lunwen_3399.html