C++推箱子课程设计报告(2)

2019-03-29 17:24

继续 进入上一次 离开游戏的 界面 返回 初始化主界面 退出 关闭游戏窗口 开始 关于推箱子游戏 选择关卡 游戏规则的说明 初始化进入新游戏 返回 是否是最后一关成成功提示 通关提示 进入下一关

图3-2 系统流程图

3.3 推箱子游戏具有的功能

3.3.1 能够显示主菜单和界面

游戏需要一共主菜单让玩家进行游戏设置,同时能够把地图文件中的信息转换成为图像显示在游戏界面上。

3.3.2 能够实现键盘操作功能

能够接受到键盘驶入的方向键信息,并根据不同的方向键把游戏人物移动到相应的位置。例如,当玩家单机方向键向上“上”时,如果向上的位置是可以移动的,那么就当把游戏人物向上西东一个方格。

3

3.3.3 能够把放置到位置的箱子进行变色显示

当玩家把箱子推到指定位置的格子时,需要把这个箱子进行变色,这样就能明确的现实出该箱子已经放置到指定位置。

3.3.4 游戏胜负判断功能

在游戏中,当玩家把所有的箱子都推到指定点时,玩家胜利通过当前游戏关口,进行下一关口的游戏。如果玩家无法将箱子全部推到指定位置时,玩家失败,玩家可以选择重新开始进行当前关口的游戏,还是退出游戏。

3.3.5 支持关口选择功能

玩家在游戏中可以自行选择需要挑战的关口。当玩家点击菜单中的“关卡选择”,并在对话框中输入所需要挑战的关口,设置完毕后点击开始即可打开所需关口。

3.4 推箱子功能框架

推箱子游戏 初始化模块 画图模块 移动箱子模块 移动小人模块 功能控制模块

图3-3 功能框架

初始化模块。该模块包括屏幕初始化和游戏第一关到第最后一关的初始化。屏幕初始化用于输出操作信息,游戏每一关的初始化时构建每一关的关卡。

画图模块。该模块最要是被其他模块调用,用于画墙、在空地画箱子、画小人、和画目的地。 移动箱子模块。该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间箱子的移动

移动小人模块。该模块用于移动人物,包括目的地之间、空地之间和目的地与空地之间人物的移动

4

功能控制模块。该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态功能和关卡重置功能。

3.5 游戏界面设计

3.5.1 游戏主界面

推箱子游戏主界面设计如图3-4所示

图3-4 设计的游戏主界面

3.5.2 游戏菜单与帮助结构设计

图3-5 游戏菜单结构

5

图3-6 帮助结构设计

3.5.3 游戏中关卡选择对话框设计

图3-7 关卡选择对话框

当玩家在对话框中输入关口数字,并重新点击开始游戏时,游戏会自动选择对应关口的地图级别开始新游戏。

3.6 游戏的界面实现

在推箱子游戏中,通过如下几步即可实现游戏的菜单

在推箱子游戏工程的资源中添加一个菜单资源,其属性如表3-1所示: 表3-1 资源属性 ID IDR_MAINFRAME IDR_RESTART IDR_SELECT IDR_EXIT 1给每个菜单栏添加相应函数到CboxManDlg类中。

2菜单响应函数的实现,各类菜单调用响应,要运用到的代码如下:

void CBoxManDlg::OnExit() //退出游戏响应 {

int i=MessageBox(\退出游戏\提示\

类别 弹出菜单 菜单栏 菜单栏 菜单栏 说明 游戏的主菜单 重新开始 关卡选择 游戏退出 6

switch(i) { case 1:

CDialog::OnCancel(); break;

case 2: } }

void CBoxManDlg::OnSelect() //关卡选择 {

CSelect sel; sel.DoModal(); g_level=sel.m_level;; GameStart(); }

void CBoxManDlg::OnRestart() //重新开始 { }

GameStart();

break;

3.7 关卡选择对话框的实现

推箱子游戏关口选择对话框的实现,分为如下几步:

(1) 创建一个对话框资源,并添加相应的控件,如图:

图3-8 关口选择对话框资源

(2) 在资源视窗中,Menu一项,双击IDR_MAINFRAME弹出菜单编辑框,添加一个“选关”选

7


C++推箱子课程设计报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:歌唱中如何调整好紧张与放松的关系

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: