九宫格拼图游戏Word格式文档下载.docx

上传人:b****2 文档编号:15169351 上传时间:2022-10-28 格式:DOCX 页数:17 大小:1.25MB
下载 相关 举报
九宫格拼图游戏Word格式文档下载.docx_第1页
第1页 / 共17页
九宫格拼图游戏Word格式文档下载.docx_第2页
第2页 / 共17页
九宫格拼图游戏Word格式文档下载.docx_第3页
第3页 / 共17页
九宫格拼图游戏Word格式文档下载.docx_第4页
第4页 / 共17页
九宫格拼图游戏Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

九宫格拼图游戏Word格式文档下载.docx

《九宫格拼图游戏Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《九宫格拼图游戏Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

九宫格拼图游戏Word格式文档下载.docx

按照常规考试方式,不能体现本课程“以理论为基础,侧重实践和应用”的特点,也不能考查学生理解本课程知识的程度以及所培养具备的MFC程序设计应用能力。

3.任务和要求:

针对某一综合应用项目,完成如下任务:

(1)简要的需求分析

(2)规划系统主要功能及其结构。

(3)完成各项系统功能的设计。

(4)形成项目文档和开发报告。

4.工具与环境:

设计工具:

VisualStudio

二、进度安排:

第1周:

基础知识串联复习

第2周:

撰写设计报告,并按时递交。

第3周:

实现系统各模块功能功能

 

第一部分设计方案论述

2.1项目方案论述

2.1.1具体论述

1.CMenu*GetSubMenu(intnPos)若弹出菜单位于指定的位置,则返回CMenu对象的指针,其中CMenu对象要包含弹出菜单的句柄;

否则返回NULL。

如果CMenu对象不存在,那么将创建临时CMenu对象,但返回的CMenu指针不应被存储。

nPos指定包含在菜单中的弹出菜单的位置。

对于第一个菜单项,开始位置值为0。

2.BOOLAppendMenu(UINTnFlags,UINTnIDNewItem=0,LPCTSTRlpszNewItem=NULL)在末尾添加一项,若nFlags为MF_SEPARATOR表示增加一个分隔条,这样其他两个参数将会被忽略;

若nFlag为MF_STRING表示添加一个菜单项。

nIDNewItem为该菜单的ID命令值;

若nIDNewItem为MF_POPUP表示添加一个弹出菜单项,这时nIDNewItem为另一菜单的句柄HMENU。

lpszNewItem为菜单文字说明。

3.BOOLInsertMenu(UINTnPosition,UINTnFlags,UINTnIDNewItem=0,

LPCTSTRlpszNewItem=NULL)用于在指定位置插入一菜单,变量nPosition指定插入位置。

如果nFlags包含MF_BYPOSITION则表明插入在nPosition位置,如果包含MF_BYCOMMAND表示插入在ID为nPosition的菜单处。

4.BOOLModifyMenu(UINTnPosition,UINTnFlags,UINTnIDNewItem=0,

LPCTSTRlpszNewItem=NULL)用于修改某一位置的菜单,如果nFlags包含MF_BYPOSITION,

则表明修改nPosition位置的菜单,如果包含MF_BYCOMMAND表示修改ID为

nPosition处的菜单。

5.BOOLRemoveMenu(UINTnPosition,UINTnFlags)用于删除某一位置的菜单。

如果nFlags包含MF_BYPOSITION则表明删除nPosition位置的菜单,如果包含MF_BYCOMMAND表示删除ID为nPosition处的菜单。

6.BOOLAppendMenu(UINTnFlags,UINTnIDNewItem,constCBitmap*pBmp)和BOOLInsertMenu(UINTnPosition,UINTnFlags,UINTnIDNewItem,constCBitmap*pBmp)可以添加位图菜单,但这样的菜单在选中时是反色显示,并不美观。

7.UINTCheckMenuItem(UINTnIDCheckItem,UINTnCheck)返回菜单项以前的状态:

MF_CHECKED或MF_UNCHECKED。

如果该菜单项不存在,那么将返回0xFFFFFFFF。

nIDCheckItem指定由nCheck确定的将要选择的菜单项。

nCheck指定是否选中菜单项,并决定菜单中各菜单项的位置。

参数nCheck可以是MF_CHECKED或MF_UNCHECKED与MF_BYPOSITION或MF_BYCOMMAND的组合。

这些标志可通过使用位与运算进行组合。

其中MF_CHECKED与MF_UNCHECKED用来进行状态转换,在菜单项之前放置默认的选中标记。

简而言之,调用一系列函数将游戏启动(初始化变量)、选择位图、加载位图、游戏模式选择(位图分割)、小块图片随机排序、静态控件显示位图等一系列操作连接起来。

2.2程序简介

2.2.1类图说明

1.主对话框类及成员函数:

2.“关于”对话框的类及成员函数:

3.图片载入的类及成员变量和函数;

4.图片分割及拼图移动类及成员函数:

5.静态网址链接类:

6.全局变量及全局函数

第二部分详细设计

2.1详细设计过程(包含关键代码及截图)

2.1.1创建初始界面

新建一个MFCAppWizard(exe)工程,将其命名为Picture,在第一步选择Dialogbased,如图3-1所示,接下来直接点Finish。

图3-1新建工程

1.游戏主窗口:

2.游戏关于窗口:

3.菜单界面:

图3-2添加菜单项

各个菜单项的ID、Caption如图3-3至3-7所示。

“重新开始”菜单项:

图3-3游戏重新开始菜单

图3-4游戏3x3菜单

图3-5游戏4x4菜单

图3-6游戏5x5菜单

3-7游戏6x6菜单

图3-7退出游戏菜单

图游戏菜单“风景”属性设置

图游戏菜单“草莓”属性设置

图游戏菜单“绿水”属性设置

图:

从计算机中载入自定义图片菜单设置

切分窗口图片是否带边框菜单设置

以上完成后,右击打开对话框的属性(Properties),将对话框的ID号设为IDD_MY_DIALOG,Caption设置为“九宫格拼图”,并为Menu属性对应的下拉框选择IDR_MENU1,如图3-8所示,这样菜单就可以在程序运行时显示在主对话框的顶部了。

图3-8拼图游戏属性

在对话框的属性中选中Minimizebox以实现对话框的最小化,如图3-9。

图3-9最小化选项

2.1.2位图的读入和显示

在程序中,需要由用户来选择游戏中使用的图片,同时还需要将整幅图片分成不同的小块。

因此,采用(Picture)Static控件作为位图的载体,分别显示图片的不同部分。

首先,需要读入位图资源。

点击菜单栏Insert->

Resource->

Bitmap->

Import,在文件类型中选中必须所有文件位图才能显示出来,在弹出的对话框里面选中所要加的位图,点击Import,完成一副位图添加。

添加完成后会弹出如图3-13的对话框。

图3-13位图添加成功

2.实现静态链接功能:

游戏资源文件构架:

图3-14添加四副位图

为对话框的“图片”菜单添加五个菜单项,如图3-15所示:

图3-15添加图片菜单项

接下来为CPictureDlg类添加一个CBitmap类型的成员变量Bitmap,如图3-16所示。

CBitmap封装了Windows图形设备接口(GDI)中的位图,并且提供了操纵位图的成员函数。

游戏对话框的函数响应

1、主对话框类函数实现定义:

图3-19游戏对话框处理函数说明

2.游戏图片切分初始化及移动函数说明:

3.图片载入内存类的函数说明:

4.关于对话框类:

5.全局函数的实现:

6.静态链接类的引用:

(可使用第三方类)

第三部分函数实现及项目测试

图3-41程序运行结果

图4-14开始游戏

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1