




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录 1 需求分析 1 1 课程设计目的 1 2 程序所实现的功能 1 2 设计内容 1 1 主模块图 1 2 1 主程序流程图 2 2 2 用例图 2 2 3 主程序调用关系图 3 2 4 函数主要调用关系图 3 三 设计方案论述 3 四 调试分析 4 1 实际完成的情况 4 2 程序的性能分析 4 3 上机过程中出现的问题及其解决方案 4 4 程序中可以改进 扩充的功能及设计实现构想 4 五 用户手册 4 六 设计总结 5 七 程序中主要的功能函数 6 八 主要参考文献 6 九 附录 6 1 一 需求分析一 需求分析 1 课程设计目的 1 运用 C 语言设计拼图游戏具有极强的实践性 加强我们对 C 课程基础知识点的理 解掌握和灵活运用理能力 培养实际分析问题能力 养成良好的编程习惯 了解 C 面向 对象的设计方法与技巧 有效地 深刻地理解课程内容 体会理论 方法和设计原则 培 养分析实际问题和解决问题的能力 具备使用面向对象程序设计开发工具设计实际系统的 能力 2 进一步领会程序设计的特点和应用 提高运用 C 以及面向对象知识解决实际问题 的能力 初步掌握 MFC 编程的基本功能 掌握一种可视化编程的方法 学习使用 CStatic 控制操作位图 加强对 C 面向对象程序设计的理解 3 掌握用 C 编写面向对象的实用程序的设计方法 对面向对象方法和思想增加感性的 认识 学会利用 C 程序设计语言编写出一些短小 可靠的 Windows 实用程序 切实提高 面向对象的程序设计能力 为后续的相关课程的学习打下基础 4 锻炼实际的编程能力 提高调查资料 查阅技术文献 资料以及编写软件设计文档的 能力 提高自学编程的能力 2 程序所实现的功能 1 本程序除了实现了拼图所要求的基本功能外 还添加了背景音乐 计算步数和游戏 所用的时间 当游戏开始时背景音乐自动循环播放 步数随 player 操作自动增加 时间自 动增加 2 进入游戏界面后 player 可以在菜单栏中选择游戏的难度 图片风格和拼图图像 亦可以自定义图片 若选择 简单 程序将图片分成 9 块 若选择 困难 程序将图 片分成 16 块 3 单击 重置 或按 F3 菜单项会弹出一个对话框让用户确认是否重置游戏 4 单击任意图象 图像将随机排列 并开始计时和记步 用户通过鼠标单击空格周围 的图片来改变其位置 用户没单击一次 步数增加一次 5 游戏中用户可通过单击 提示 菜单项或按 F4 来查看图像的缩略图及游戏相关信息 6 游戏状态栏显示用户所用时间及步数 成功时状态栏给出提示信息和所花费时间 步数 用户可选择其他图像或难度进行游戏 二 设计内容二 设计内容 1 1 主模块图主模块图 2 2 1 主程序流程图主程序流程图 2 2 用例图用例图 3 2 32 3 主程序类调用关系图主程序类调用关系图 用户 选择背景图片选择难度级别 开始游戏 是否选择 原图提示 不显示 显示原图 拼图成功 返回重新选择背景图 片及难度级别 4 2 42 4 CPictureDlgCPictureDlg 类中成员函数主要调用关系图类中成员函数主要调用关系图 三 设计方案论述设计方案论述 本程序有一个CPictureDlg类 它公有继承CDialog类的一些性质 CDialog类中包括位图 的读入和显示 拼图游戏中的Picture都是位图资源 在游戏程序中 采用Static Text即 静态文本控件来显示位图 静态文本控件的功能比较简单 可显示字符串 图标 位图 先为对话框的 游戏 中的菜单项 容易 和 困难 添加消息响应为另外还需为 CPictureDlg类添加BOOL型变量Easy来标识游戏的难度 分为9格或16格 同时添加BOOL 型变量IsRnd用来标识图格是否进行了随机位置的初始化 接下来为CPictureDlg对话框添 加16个Static控件 可以先设置好一个控件后 再通过复制得到其它的控件 并设置它 们的属性 ID设为IDC IMAGE0到IDC IMAGE15 Tabstop请勾上 Type属性设为Bitmap 控 件添加好了后 我们需要添加一个CStatic类型的数组m Image 16 与这16个Static控件 相关联 通过这个操作这个数组的下标来控制这16个控件对图像进行分格显示 建立关联 的代码应写在CPictureDlg类中系统生成的OnInitDialog 函数体内 这个函数是整个对话 框程序运行的入口 相当于一个main函数 在这个函数体里 我们也需要为之前声明的变 量提供初始值 即将变量初始化 变量没有初始化的后果通常会造成内存泄露 使程序在 运行时出现莫名奇妙的错误 判断游戏是否完成的函数IsWin 只要所有的Static控件都 回到了相应的位置 就可以认为用户己完成了拼图 即游戏完成 四 调试分析四 调试分析 5 1 实际完成的情况 1 完成的功能 本程序除了实现了拼图所要求的基本功能外 还添加了背景音乐 计算步数和游戏所用 的时间 当游戏开始时背景音乐自动循环播放 步数随 player 操作自动增加 时间自动增 加 2 支持的数据类型 BOOL 类型 控件数组类型 2 程序的性能分析 本程序能够很好的运行 并且画面质量以及音质方面都很高 3 上机过程中出现的问题及其解决方案 1 开始导入图片时 图片不能显示 重新导入 bmp 格式的图片后解决了 2 开始建立了时间函数 OnTimer 但是游戏运行后时间并不增加 在开始游戏对应的函 数中增加 SetTimer 函数 得到想要的结果 3 初始设置的快捷键无效 查阅资料后加入 Accelerator 及相应的函数 使得快捷键有 效 4 程序中可以改进 扩充的功能及设计实现构想 1 游戏的难度等级有点少 可以适当增加几个等级 2 游戏未设置根据用户花费的时间和步数判定用户的成绩并进行排名的功能 可以增设 以便用户了解自己玩的水平 5 用户手册用户手册 1 打开 Picture 文件夹 双击 Ppicture dsw 标志打开程序 然后运行 2 开始程序会出现以下欢迎界面 3 用户需要选择图片 难度和图片风格 然后单击图片开始游戏 计时器开始计时 用户 通过鼠标单击空格周围的图片来改变其位置 用户每单击一次 步数增加一次 4 游戏中用户可通过单击 提示 菜单项或按 F4 来查看图像的缩略图及游戏相关信息 6 图像缩略图 游戏相关信息 5 用户也可以单击菜单栏中的重置或按快捷键 F3 重置图片 会出现提示信息 用户单击确 定重置图片 提示框如下 6 当完成拼图后系统会自动给出成功提示 并显示用户的成绩 用户单击确定后可以选择 其他图片或难度继续游戏 也可以选择单击 退出 或按 Esc 退出游戏 六 设计总结六 设计总结 通过本次课程设计 学习并初步掌握了基于对话框的MFC程序的设计 并学会了使用 CStatic控件操作位图 熟悉了在基于对话框的工程中加入菜单操作 用代码操作菜单 Windows位图文件的基本结构 Visual C 中对位图资源的操作 Visual C 中对自定义位 图文件的操作 设置相关位图的概念 用Static控件显示位图以及用Status Bar显示提示 信息和Visual C 随机函数 7 在设计过程中 曾遇到了两个瓶颈导致程序一度无法完成 第一个是位图文件的添加 包括将图片格式转换成BMP格式 添加相关Static控件 尤其是对控件图标不熟悉的情况下 一时不知道在哪儿添加控件 后来上网查阅并请教同学才得以完成控件的添加 使得程序 可以继续完成 不过在程序即将结束的时候 又遇到了一个新的问题 导致程序差点功亏 一篑 问题就是图片的缩略图的添加 也就是游戏中的 提示 的应用 当然没有 提示 操作 并不会影响整个程序的运行环境 但是为了使游戏者能够顺利的完成游戏 此 提 示 操作必不可少 在纠结了一段时间之后 在与同学的商讨下 终于完成了缩略图的添 加 为程序的顺利完成提供了帮助 在本次设计的完成过程中 我对软件的开发有了一个初步的认识 一个小型游戏软件 尚且需要不断地查阅资料 请教别人 那么完成一个大型的软件 必定需要更加复杂的过 程 所以在做软件开发时首先要保持一个平静的心态 静下心来潜心去研究 同时还要熟 悉的掌握 灵活的运用所学知识 方能完成设计 也对MFC程序开发也有了相应的了解 每 一个函数都有其特定的用途 掌握好这其中的一些关联 对一个程序的完成不无好处 这 次课程设计为我以后编程的相关学习奠定了基础 使我在不同方面得到了锻炼 七 七 程序中类的主要的成员函数程序中类的主要的成员函数 BOOL OnInitDialog 初始化函数 void OnRun UINT nBitmapID UINT nMenuID 加载位图资源 BOOL IsWin 判断拼图是否成功 void MoveImage int num 移动随机小图块 void Rnd 随机设置小图块的位置 UINT MapRand UINT nMax 随机函数 void SetImage 把图像拷贝到 Static 控件 void SetPos 初始化 Staic 控件的位置 CString IntToString int number 为游戏添加计时器 void OnTimer UINT nIDEvent 计时函数 void SetPre 生成略缩图 void CPictureDlg OnForHelp 显示略缩图 void ShowItem 显示帮助对话框 八 主要参考文献八 主要参考文献 1 郑莉 C 语言程序设计 第 3 版 北京 清华大学出版社 2005 7 2 钱能 C 程序设计教程 第 2 版 北京 清华大学出版社 2005 8 3 黄维通 Visual C 面向对象与可视化程序设计 第 2 版 北京 清华大学出版社 2003 12 4 刘路放 Visual C 与面向对象程序设计教程 第二版 北京 高等教育出版社 2007 8 5 潘爱民 COM 原理与应用 北京 清华大学出版社 1999 11 九 附录九 附录 BOOL CPictureDlg OnInitDialog 整个对话框程序运行的入口 CDialog OnInitDialog Set the icon for this dialog The framework does this automatically 8 when the application s main window is not a dialog SetIcon m hIcon TRUE Set big icon SetIcon m hIcon FALSE Set small icon srand unsigned time NULL hAccel LoadAccelerators AfxGetInstanceHandle MAKEINTRESOURCE IDR ACCELERATOR1 TODO Add extra initialization here Bitmap LoadBitmap IDB BITMAP6 初始界面是图像 BITMAP6 pKDC new CDC pMainMenu GetMenu 获取菜单 Style3d TRUE Islong FALSE Advan FALSE Easy TRUE TimeCon 计时器 IntStep 0 Strstep 步数 SetWindowPos NULL 0 0 600 700 SWP NOMOVE 控制窗口大小 SetTimer 10 1000 NULL 10 表示计时器的名字 1000 表示时间间隔是 1000 毫秒 NULL 表示使用 onTimer 函数 m wndStatusBar Create WS CHILD WS VISIBLE CCS BOTTOM CCS NODIVIDER CRect 0 0 0 0 this 102 int static strPartDim 5 100 230 330 400 1 m wndStatusBar SetParts 4 strPartDim 将状态显示栏分为四块 m wndStatusBar SetText TimeCon 1 0 m wndStatusBar SetText Strstep 2 0 m wndStatusBar SetText Player 3 0 m Image 0 SubclassDlgItem IDC IMAGE0 this m Image 1 SubclassDlgItem IDC IMAGE1 this m Image 2 SubclassDlgItem IDC IMAGE2 this m Image 3 SubclassDlgItem IDC IMAGE3 this m Image 4 SubclassDlgItem IDC IMAGE4 this m Image 5 SubclassDlgItem IDC IMAGE5 this m Image 6 SubclassDlgItem IDC IMAGE6 this m Image 7 SubclassDlgItem IDC IMAGE7 this m Image 8 SubclassDlgItem IDC IMAGE8 this m Image 9 SubclassDlgItem IDC IMAGE9 this m Image 10 SubclassDlgItem IDC IMAGE10 this m Image 11 SubclassDlgItem IDC IMAGE11 this m Image 12 SubclassDlgItem IDC IMAGE12 this m Image 13 SubclassDlgItem IDC IMAGE13 this m Image 14 SubclassDlgItem IDC IMAGE14 this m Image 15 SubclassDlgItem IDC IMAGE15 this 9 m Preview SubclassDlgItem IDC PREVIEW this OnBegin PlaySound rain wav NULL SND LOOP SND ASYNC return TRUE return TRUE unless you set the focus to a control void CPictureDlg OnSysCommand UINT nID LPARAM lParam 截获控制命令的函数 if nID dlgAbout DoModal 用来显示一个模态对话框 其返回值对应于用来关闭对话框的控件的 ID else CDialog OnSysCommand nID lParam If you add a minimize button to your dialog you will need the code below to draw the icon For MFC applications using the document view model this is automatically done for you by the framework void CPictureDlg OnPaint 系统自动生成重绘窗口函数 if IsIconic CPaintDC dc this device context for painting SendMessage WM ICONERASEBKGND WPARAM dc GetSafeHdc 0 Center icon in client rectangle int cxIcon GetSystemMetrics SM CXICON int cyIcon GetSystemMetrics SM CYICON CRect rect GetClientRect int x rect Width cxIcon 1 2 int y rect Height cyIcon 1 2 Draw the icon dc DrawIcon x y m hIcon else CDialog OnPaint SetImage 调用 SetImage 函数将图片拷贝到 Static 控件上面 10 if pKDC pKDC DeleteDC The system calls this to obtain the cursor to display while the user drags the minimized window HCURSOR CPictureDlg OnQueryDragIcon return HCURSOR m hIcon void CPictureDlg OnRun UINT nBitmapID UINT nMenuID pSubMenu pMainMenu GetSubMenu 1 用 GetSubMenu 得到指向弹出菜单对象的指 pSubMenu CheckMenuItem ID PICTURE1 MF UNCHECKED 用 CheckMenuItem 方法为 nMenuID 所指定的菜单项放置选中标记 pSubMenu CheckMenuItem ID PICTURE2 MF UNCHECKED 用 CBitmap 对象的 LoadBitmap 方法 将 nBitmapID 所指定的位图载入 pSubMenu CheckMenuItem ID PICTURE3 MF UNCHECKED pSubMenu CheckMenuItem ID PICTURE4 MF UNCHECKED pSubMenu CheckMenuItem ID ADVAN MF UNCHECKED pSubMenu CheckMenuItem nMenuID MF CHECKED count 0 Islong FALSE CanCount FALSE IsRnd FALSE Advan FALSE Bitmap DeleteObject 先调用函数 CGdiObject DeleteObject 删除由 LoadBitmap 加载过的位图 Bitmap LoadBitmap nBitmapID 用 LoadBitmap 方法载入新的位图对象 SetPos SetImage IsWin void CPictureDlg OnPicture1 TODO Add your command handler code here OnRun IDB BITMAP1 ID PICTURE1 调用 OnRun 函数加载位图 m wndStatusBar SetText 三只小熊 0 0 IntStep 0 设定初始步数为 0 SetStep IntStep 调用记步函数 计算步数 PlaySound yin wav NULL SND LOOP SND ASYNC 11 void CPictureDlg OnPicture2 TODO Add your command handler code here OnRun IDB BITMAP2 ID PICTURE2 调用 OnRun 函数加载位图 m wndStatusBar SetText 阿狸 0 0 IntStep 0 设定初始步数为 0 SetStep IntStep 调用记步函数 计算步数 PlaySound yue wav NULL SND LOOP SND ASYNC void CPictureDlg OnPicture3 TODO Add your command handler code here OnRun IDB BITMAP3 ID PICTURE3 调用 OnRun 函数加载位图 m wndStatusBar SetText 小可爱 0 0 IntStep 0 设定初始步数为 0 SetStep IntStep 调用记步函数 计算步数 PlaySound l wav NULL SND LOOP SND ASYNC void CPictureDlg OnPicture4 TODO Add your command handler code here OnRun IDB BITMAP4 ID PICTURE4 调用 OnRun 函数加载位图 m wndStatusBar SetText 小象 0 0 IntStep 0 设定初始步数为 0 SetStep IntStep 调用记步函数 计算步数 PlaySound ai wav NULL SND LOOP SND ASYNC void CPictureDlg OnPicture5 TODO Add your command handler code here OnRun IDB BITMAP5 ID PICTURE5 调用 OnRun 函数加载位图 m wndStatusBar SetText 比卡丘 0 0 IntStep 0 设定初始步数为 0 SetStep IntStep 调用记步函数 计算步数 PlaySound 天籁童声 Tell Me Why wav NULL SND LOOP SND ASYNC void CPictureDlg OnAdvan 自定义图片的函数 用 LoadImage 方法来加载自定义文件中的位图资源 然后用 GetObject 方法得到其 BITMAP 对象 TODO Add your command handler code here CFileDialog dlg TRUE NULL NULL NULL 位图文件 bmp bmp 12 INT Result dlg DoModal PlaySound l wav NULL SND LOOP SND ASYNC if Result IDOK count 0 CanCount FALSE IsRnd FALSE Advan TRUE hBitmap HBITMAP LoadImage NULL dlg GetFileName IMAGE BITMAP 0 0 LR LOADFROMFILE BITMAP bm GetObject hBitmap sizeof BITMAP if bm bmWidth bm bmHeight 判断图片是否是长大于高 hBitmap HBITMAP LoadImage NULL dlg GetFileName IMAGE BITMAP 650 600 LR LOADFROMFILE 限定自定义图片的大小 Width 650 Height 600 Islong FALSE else if bm bmWidth GetSubMenu 0 pSubMenu CheckMenuItem ID HARD MF UNCHECKED pSubMenu CheckMenuItem ID EASY MF CHECKED Easy TRUE IsRnd FALSE CanCount FALSE SetPos 13 m wndStatusBar SetText 加油 0 0 IntStep 0 设定初始步数为 0 SetStep IntStep 调用记步函数 void CPictureDlg OnHard 困难游戏函数 TODO Add your command handler code here pSubMenu pMainMenu GetSubMenu 0 pSubMenu CheckMenuItem ID EASY MF UNCHECKED pSubMenu CheckMenuItem ID HARD MF CHECKED Easy FALSE IsRnd FALSE CanCount FALSE SetPos m wndStatusBar SetText 有点难度 0 0 IntStep 0 SetStep IntStep void CPictureDlg SetPos 对 Static 控件的位置进行初始化 BITMAP bm INT con move if Advan FALSE Bitmap GetObject sizeof BITMAP Width bm bmWidth Height bm bmHeight if Easy x Width 3 y Height 3 con 2 else if Easy x Width 4 y Height 4 con 3 if Islong move 70 else move 0 for int i 0 i con i m Image i SetWindowPos NULL x i move 0 0 0 SWP NOSIZE m Image i SetWindowPos NULL 0 0 x y SWP NOMOVE for int j 0 j con j m Image con 1 j SetWindowPos NULL x j move y 0 0 SWP NOSIZE m Image con 1 j SetWindowPos NULL 0 0 x y SWP NOMOVE 14 for int k 0 k con k m Image con 1 2 k SetWindowPos NULL x k move 2 y 0 0 SWP NOSIZE m Image con 1 2 k SetWindowPos NULL 0 0 x y SWP NOMOVE if Easy for int l 0 l 3 l m Image l 12 SetWindowPos NULL x l move 3 y 0 0 SWP NOSIZE m Image l 12 SetWindowPos NULL 0 0 x y SWP NOMOVE CClientDC dc void CPictureDlg SetImage 将图像拷贝到 Static 控件上面 INT con HANDLE picture CRect rect 0 0 x y if Advan TRUE picture hBitmap else if Advan FALSE picture Bitmap if Easy con 2 else if Easy con 3 for int i 0 i CreateCompatibleDC pDC SelectObject picture dc BitBlt 0 0 x y pDC x i 0 SRCCOPY if Style3d dc DrawEdge rect EDGE RAISED BF RECT else if Style3d dc Draw3dRect rect RGB 0 0 0 RGB 0 0 0 delete pDC UpdateWindow for int j 0 j CreateCompatibleDC pDC SelectObject picture dc BitBlt 0 0 x y pDC x j y SRCCOPY if Style3d dc DrawEdge rect EDGE RAISED BF RECT 15 else if Style3d dc Draw3dRect rect RGB 0 0 0 RGB 0 0 0 delete pDC for int k 0 k CreateCompatibleDC pDC SelectObject picture dc BitBlt 0 0 x y pDC x k 2 y SRCCOPY if Style3d dc DrawEdge rect EDGE RAISED BF RECT else if Style3d dc Draw3dRect rect RGB 0 0 0 RGB 0 0 0 delete pDC if Easy for int l 0 l CreateCompatibleDC pDC SelectObject picture dc BitBlt 0 0 x y pDC x l 3 y SRCCOPY if Style3d dc DrawEdge rect EDGE RAISED BF RECT else if Style3d dc Draw3dRect rect RGB 0 0 0 RGB 0 0 0 delete pDC if IsRnd pSubMenu pMainMenu GetSubMenu 0 pSubMenu EnableMenuItem ID FORHELP MF DISABLED MF GRAYED void CPictureDlg On3d 图片 3D 效果 TODO Add your command handler code here pSubMenu pMainMenu GetSubMenu 2 pSubMenu CheckMenuItem ID FLAT MF UNCHECKED pSubMenu CheckMenuItem ID 3D MF CHECKED Style3d TRUE SetImage void CPictureDlg OnFlat 图片平面效果 16 TODO Add your command handler code here pSubMenu pMainMenu GetSubMenu 2 pSubMenu CheckMenuItem ID FLAT MF CHECKED pSubMenu CheckMenuItem ID 3D MF UNCHECKED Style3d FALSE SetImage UINT CPictureDlg MapRand UINT nMax 随机函数 int nRand rand float fMap float nMax RAND MAX float fRetVal float nRand fMap 0 5f return UINT fRetVal void CPictureDlg Rnd 设定随机图格的位置 int xnum ynum level UINT rand if Easy level 8 如果是 9 格 else if Easy level 15 如果是 16 格 WINDOWPLACEMENT wpnum wp15 for int a 0 a 600 a rand MapRand 4 if rand 1 for int b 0 b level 1 b m Image level GetWindowPlacement m Image b GetWindowPlacement xnum wpnum rcNormalPosition left ynum wpnum rcNormalPosition top if wpnum rcNormalPosition top wp15 rcNormalPosition top m Image level SetWindowPos NULL xn um ynum 0 0 SWP NOSIZE if rand 2 for int c 0 c level 1 c m Image level GetWindowPlacement 17 m Image c GetWindowPlacement xnum wpnum rcNormalPosition left ynum wpnum rcNormalPosition top if wpnum rcNormalPosition top wp15 rcNormalPosition top m Image level SetWindowPos NULL xnum ynum 0 0 SWP NOSIZE if rand 3 for int d 0 d level 1 d m Image level GetWindowPlacement m Image d GetWindowPlacement xnum wpnum rcNormalPosition left ynum wpnum rcNormalPosition top if wpnum rcNormalPosition left wp15 rcNormalPosition left m Image level SetWindowPos NULL xnum ynum 0 0 SWP NOSIZE if rand 4 for int e 0 e GetSubMenu 0 pSubMenu EnableMenuItem ID FORHELP MF ENABLED IsRnd TRUE CanCount TRUE 18 void CPictureDlg MoveImage int num 移动随机图格的函数 int xnum ynum level if Easy level 8 else if Easy level 15 WINDOWPLACEMENT wpnum wp15 m Image level GetWindowPlacement m Image num GetWindowPlacement xnum wpnum rcNormalPosition left ynum wpnum rcNormalPosition top if num level if wpnum rcNormalPosition top wp15 rcNormalPosition top m Image level SetWindowPos NULL xnum ynum 0 0 SWP NOSIZE if wpnum rcNormalPosition top wp15 rcNormalPosition top m Image level SetWindowPos NULL xnum ynum 0 0 SWP NOSIZE if wpnum rcNormalPosition left wp15 rcNormalPosition left m Image level SetWindowPos NULL xnum ynum 0 0 SWP NOSIZE if wpnum rcNormalPosition left wp15 rcNormalPosition left m Image level SetWindowPos NULL xnum ynum 0 0 SWP NOSIZE void CPictureDlg OnImage0 单击 Static 控件时 首先判断图格是否进行了随机数初始化 TODO Add your control notification handler code here if IsRnd 图格已随机初始化 19 MoveImage 0 移动图格 IntStep 步数加一 SetStep IntStep else Rnd 图格未初始化 对图格进行随机初始化 if IsWin CanCount FALSE 调用 IsWin 函数判断游戏是否完成 void CPictureDlg OnImage1 TODO Add your control notification handler code here if IsRnd MoveImage 1 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage10 TODO Add your control notification handler code here if IsRnd MoveImage 10 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage11 TODO Add your control notification handler code here if IsRnd MoveImage 11 IntStep 步数加一 SetStep IntStep 20 else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage12 TODO Add your control notification handler code here if IsRnd MoveImage 12 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage13 TODO Add your control notification handler code here if IsRnd MoveImage 13 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage14 TODO Add your control notification handler code here if IsRnd MoveImage 14 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage15 21 TODO Add your control notification handler code here if IsRnd MoveImage 15 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage2 TODO Add your control notification handler code here if IsRnd MoveImage 2 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage3 TODO Add your control notification handler code here if IsRnd MoveImage 3 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage4 TODO Add your control notification handler code here if IsRnd MoveImage 4 22 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage5 TODO Add your control notification handler code here if IsRnd MoveImage 5 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage6 TODO Add your control notification handler code here if IsRnd MoveImage 6 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage7 TODO Add your control notification handler code here if IsRnd MoveImage 7 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE 23 void CPictureDlg OnImage8 TODO Add your control notification handler code here if IsRnd MoveImage 8 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE void CPictureDlg OnImage9 TODO Add your control notification handler code here if IsRnd MoveImage 9 IntStep 步数加一 SetStep IntStep else Rnd if IsWin CanCount FALSE BOOL CPictureDlg IsWin 判断游戏是否完成 WINDOWPLACEMENT wp int con move int win 0 if Islong move 70 else move 0 if Easy TRUE con 2 else if Easy con 3 for int a 0 a con a m Image a GetWindowPlacement if wp rcNormalPosition top 0 for int b 0 b con b 24 m Image con 1 b GetWindowPlacement if wp rcNormalPosition top y if win 3 return FALSE for int c 0 c con c m Image 2 con 1 c GetWindowPlacement if wp rcNormalPosition top 2 y if win 5 return FALSE if Easy for int d 0 d DeleteDC SetPre void CPictureDlg OnOut TODO Add your command handler code here PostQuitMessage 0 void CPictureDlg ShowItem 显示帮助对话框 INT count if Easy count 7 else count 14 if IsHelp 26 GetDlgItem IDC ENDHELP ShowWindow SW SHOW GetDlgItem IDC DLGABOUT ShowWindow SW SHOW GetDlgItem IDC PREVIEW ShowWindow SW SHOW GetDlgItem IDC HIDE ShowWindow SW SHOW GetDlgItem IDC RECT ShowWindow SW SHOW GetDlgItem IDC VERSION ShowWindow SW SHOW for int i 0 i GetSubMenu 0 pSubMenu EnableMenuItem ID BEGIN MF DISABLED MF GRAYED pSubMe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥梁通车验收与质量检验方案
- 园林景观生态环境保护方案
- 道路路面结构设计方案
- 2025年具身智能环境适应性试题(含答案与解析)
- 排水工程质量通病防治措施
- 人机协同助力生物学单元作业设计
- 综合部技术支持职责
- 2025年环保产业园集聚区产业协同创新与区域经济融合报告
- 科学学科教学计划学科竞赛辅导
- 建筑地质勘察与地基处理技术分析
- 牛奶加工工艺流程
- 《教室不乱跑》课件
- 2024年婴幼儿托育服务与管理专业人才培养方案调研报告
- 支教考试笔试试题真题及答案
- 地震破拆技术课件
- 致密油藏中CO2驱油机理研究
- 2025年高校教师岗前培训高等教育心理学知识竞赛考试题库50题及答案
- 电动港机装卸机械司机(高级技师)职业技能鉴定理论考试题(附答案)
- 无人机打药合同协议书
- 餐饮公司中标协议书
- 乡村振兴文化旅游发展规划
评论
0/150
提交评论