windows大实验报告 (MFC扫雷游戏)

windows大实验报告 (MFC扫雷游戏)

ID:37899467

大小:313.00 KB

页数:10页

时间:2019-06-02

windows大实验报告 (MFC扫雷游戏)_第1页
windows大实验报告 (MFC扫雷游戏)_第2页
windows大实验报告 (MFC扫雷游戏)_第3页
windows大实验报告 (MFC扫雷游戏)_第4页
windows大实验报告 (MFC扫雷游戏)_第5页
资源描述:

《windows大实验报告 (MFC扫雷游戏)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《Windows编程》大作业题目:基于MFC的扫雷游戏姓名:*******学号:**********班级:**********专业:软件工程院系:数学与计算机学院指导教师:***********基于MFC的小游戏实现基本要求:1、实现一个小游戏2、实现基本游戏控制功能3、具有游戏数据保存功能4、界面布局合理、美观;1.设计目的及要求1.1设计目的及问题描述利用VC++程序编写扫雷游戏,以检测自己一个学期对MFC学习的情况,以及了解自己在MFC学习中的不足,巩固和提高自己对MFC的理解和掌握。掌握C++编程和调试的基本技能,进一步提高自己的动手能力,和运用C++解决实际问

2、题的能力。本次我做的是一个简单的扫雷的游戏,包括计算雷数、时间和扫雷的规则制定。1.2设计要求找出所有的非地雷的地方。如果在掀开方块的过程中,不小心翻开(踩到)藏有地雷的方块,则宣告失败(游戏结束),惟有将所有不含地雷的方块掀开,游戏才算成功。(1)操作说明:开局:单击“开”字按钮挖雷:单击鼠标左键标记/取消标记:单击鼠标右键胜利:所有有雷的格子都被标记,其余格子都打开。胜利后,会升起几颗信号弹,所有雷爆炸。快捷操作:一个格子被打开后(显示数字),且周围8个格子已有对应数量的标记。此时,鼠标左右键同时单击数字,周围未标记的格子都会打开。(2)游戏主要功能:gamebox

3、.cpp(.h)游戏框架:游戏主要逻辑,动画控制,常量定义mybitmap.cpp(.h)位图,按钮myclock.h时钟处理mykey.h工具包myqueue.cpp(.h)数据结构:队列filereport.cpp(.h)跟踪打印,用于调试程序stdafx.h游戏常量定义说明文件:MFC部分:DlgHelp.cpp(.h)操作说明对话框DlgSet.cpp(.h)设置对话框DlgInput.cpp(.h)输入姓名对话框DlgRank.cpp(.h)排行榜对话框mine.cpp(.h)MFC应用程序类mineDlg.cpp(.h)MFC对话框类(3)制作要点1.游戏界

4、面怎样表示(即w*h个格子)2.格子的状态表示:打开,被标记3.打开一个空格子,与其相连的空格全部打开4.信号弹,爆炸效果的动画处理。5.对话框的打开,关闭6.对话框控件的数据设置,刷新2.课程设计步骤(1)位图初始化bmStart.Init(hInstance,IDB_BITMAP_START);bmStart.SetDevice(hdccanvas,hdcmem);bmStart.InitSizeList(1,PICW,PICH);bmBack.Init(hInstance,IDB_BITMAP_BACK);bmBack.SetDevice(hdccanvas,hd

5、cmem);bmBack.InitSizeList(1,200,200);bmAni.Init(hInstance,IDB_BITMAP_ANI);bmAni.SetDevice(hdccanvas,hdcmem);bmAni.InitSizeList(ANI_PIC_NUM,20,20);bmBomb.Init(hInstance,IDB_BITMAP_BOMB);bmBomb.SetDevice(hdccanvas,hdcmem);bmBomb.InitSizeList(sizeof(bmBomb_w)/sizeof(int),bmBomb_w,bmBomb_h,P

6、IC_HAVE_MASK)(2)定义参数及规格#defineMAP_Y80#defineTIME_X260#defineTIME_Y15#defineTEXT_MINE_X260#defineTEXT_MINE_Y45//初级中级高级enumGAME_LEVEL{LEVEL0,LEVEL1,LEVEL2,};//不同级别的地图边长enumGAME_LEVEL_SIZE{LEVEL0_SIZE=9,LEVEL1_SIZE=14,LEVEL2_SIZE=20,};//不同级别雷的数量enumMINE_NUM{MINE_NUM0=10,MINE_NUM1=30,MINE_NU

7、M2=55,};#defineMIN_W9#defineMIN_H9//最大地图20*20个格子#defineMAX_MAP_W20#defineMAX_MAP_H20#defineMAX_NUM(MAX_MAP_W*MAX_MAP_H)//格子状态:关闭,打开,标记enumMINE_STATE{MINE_CLOSE,MINE_OPEN,MINE_LABEL,MINE_ERROR_OPEN,//有雷的格子,被打开MINE_ERROR_LABEL,//不是雷的格子,被标记};//idenumITEM_ID{ITEM_NULL=0,ITEM_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。