九宫格拼图游戏

  • 格式:doc
  • 大小:1.31 MB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

九宫格拼图游戏设计文档

一、综合设计目的、条件、任务和内容要求:

1.设计目的

《Windows程序设计》是计算机科学与技术专业本科生的一门学科基础课程。Windows程序以图形用户界面(GUI)给用户提供各种功能,在各行各业有着广泛的应用。基于MFC的Windows程序设计是进行Win32程序设计的一种主流方法。

本课程主要介绍Windows程序设计的思想和方法,以及MFC的常见应用。本课程综合应用算法与程序设计、面向对象程序设计、数据结构、操作系统、数据库系统原理等课程的知识和方法,面向实际应用和开发,以培养、提高学生的程序设计能力和软件工程能力为目的。通过课程教学、上机实践、综合设计等教学环节,使学生逐步掌握Windows程序设计和MFC的常见应用,并能在实践中熟练应用所掌握的工具和方法解决实际问题。

2.实施方式

本课程重在训练学生的综合设计能力和项目开发应用能力,并强调学生的上机实践能力。按照常规考试方式,不能体现本课程“以理论为基础,侧重实践和应用”的特点,也不能考查学生理解本课程知识的程度以及所培养具备的MFC程序设计应用能力。

3.任务和要求:

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

(1)简要的需求分析

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

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

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

4.工具与环境:

设计工具:Visual Studio

二、进度安排:

第1周:基础知识串联复习

第2周:撰写设计报告,并按时递交。

第3周:实现系统各模块功能功能

第一部分设计方案论述

2.1项目方案论述

2.1.1具体论述

1.CMenu* GetSubMenu(int nPos) 若弹出菜单位于指定的位置,则返回CMenu 对象的指针,其中CMenu对象要包含弹出菜单的句柄;否则返回NULL。如果CMenu 对象不存在,那么将创建临时CMenu对象,但返回的CMenu指针不应被存储。nPos指定包含在菜单中的弹出菜单的位置。对于第一个菜单项,开始位置值为0。

2.BOOL AppendMenu(UINT nFlags, UINT nIDNewItem=0, LPCTSTR lpszNewItem= NULL) 在末尾添加一项,若nFlags为MF_SEPARATOR表示增加一个分隔条,这样其他两个参数将会被忽略;若nFlag为MF_STRING表示添加一个菜单项。nIDNewItem为该菜单的ID命令值;若nIDNewItem为MF_POPUP表示添加一个弹出菜单项,这时nIDNewItem为另一菜单的句柄HMENU。lpszNewItem为菜单文字说明。

3.BOOL InsertMenu(UINT nPosition,UINT nFlags ,UINT nIDNewItem = 0,

LPCTSTR lpszNewItem = NULL) 用于在指定位置插入一菜单,变量nPosition指定插入位置。如果nFlags 包含MF_BYPOSITION 则表明插入在nPosition 位置,如果包含MF_BYCOMMAND表示插入在ID为nPosition的菜单处。

4.BOOL ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem=0 ,

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

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

nPosition处的菜单。

5.BOOL RemoveMenu(UINT nPosition, UINT nFlags) 用于删除某一位置的菜单。如果 nFlags 包含MF_BYPOSITION 则表明删除nPosition 位置的菜单,如果包含MF_BYCOMMAND表示删除ID为nPosition处的菜单。

6.BOOL AppendMenu(UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp) 和BOOL InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp)可以添加位图菜单,但这样的菜单在选中时是反色显示,并不美观。

7.UINT CheckMenuItem(UINT nIDCheckItem, UINT nCheck) 返回菜单项以前的状态: MF_CHECKED 或MF_UNCHECKED 。如果该菜单项不存在,那么将返回0xFFFFFFFF。nIDCheckItem指定由nCheck确定的将要选择的菜单项。nCheck指定是否选中菜单项,并决定菜单中各菜单项的位置。参数nCheck可以是MF_CHECKED或MF_UNCHECKED与MF_BYPOSITION或MF_BYCOM MAND的组合。这些标志可通过使用位与运算进行组合。其中MF_CHECKED与MF_UNCHECKED用来进行状态转换,在菜单项之前放置默认的选中标记。

简而言之,调用一系列函数将游戏启动(初始化变量)、选择位图、加载位图、游

戏模式选择(位图分割)、小块图片随机排序、静态控件显示位图等一系列操作连接起来。

2.2 程序简介

2.2.1 类图说明

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

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

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

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

5.静态网址链接类:

6.全局变量及全局函数

第二部分详细设计

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

2.1.1 创建初始界面

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