- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
windows大实验报告(MFC扫雷游戏)
《Windows编程》大作业
题目:基于MFC的扫雷游戏
姓名:*******
学号:**********
班级:**********
专业:软件工程
院系:数学与计算机学院
指导教师:***********
基于MFC的小游戏实现
基本要求:
1、实现一个小游戏
2、实现基本游戏控制功能
3、具有游戏数据保存功能
4、界面布局合理、美观;
1.设计目的及要求
1.1设计目的及问题描述
利用VC++程序编写扫雷游戏,以检测自己一个学期对MFC学习的情况,以及了解自己在MFC学习中的不足,巩固和提高自己对MFC的理解和掌握。掌握C++编程和调试的基本技能,进一步提高自己的动手能力,和运用C++解决实际问题的能力。
本次我做的是一个简单的扫雷的游戏,包括计算雷数、时间和扫雷的规则制定。
1.2设计要求
找出所有的非地雷的地方。如果在掀开方块的过程中,不小心翻开(踩到)藏有地雷的方块,则宣告失败(游戏结束),惟有将所有不含地雷的方块掀开,游戏才算成功。
(1)操作说明:
开局:单击“开”字按钮
挖雷:单击鼠标左键
标记/取消标记:单击鼠标右键
胜利:
所有有雷的格子都被标记,其余格子都打开。胜利后,会升起几颗信号弹,所有雷爆炸。
快捷操作:
一个格子被打开后(显示数字),且周围8个格子已有对应数量的标记。此时,鼠标左右键同时单击数字,周围未标记的格子都会打开。
(2)游戏主要功能:
gamebox.cpp (.h) 游戏框架:游戏主要逻辑,动画控制,常量定义
mybitmap.cpp (.h) 位图,按钮
myclock.h 时钟处理
mykey.h 工具包
myqueue.cpp (.h) 数据结构:队列
filereport.cpp (.h) 跟踪打印,用于调试程序
stdafx.h 游戏常量定义
说明文件:
(3)制作要点
1. 游戏界面怎样表示(即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,hdcmem);
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,PIC_HAVE_MASK)
(2)定义参数及规格
#define MAP_Y 80
#define TIME_X 260
#define TIME_Y 15
#define TEXT_MINE_X 260
#define TEXT_MINE_Y 45
//初级 中级 高级
enum GAME_LEVEL{
LEVEL0,
LEVEL1,
LEVEL2,
};
//不同级别的地图边长
enum GAME_LEVEL_SIZE{
LEVEL0_SIZE=9,
LEVEL1_SIZE=14,
LEVEL2_SIZE=20,
};
//不同级别 雷的数量
enum MINE_NUM{
MINE_NUM0=10,
MINE_NUM1=30,
MINE_NUM2=55,
};
#define MIN_W 9
#define MIN_H 9
//最大地图 20*20个格子
#define MAX_MAP_W 20
#define MAX_MAP_H 20
#define MAX_NUM (MAX_MAP_W*MAX_MAP_H)
//格子状态 : 关闭,打开,标记
enum MINE_STATE{
MINE_CLOSE,
MINE_OPEN,
MINE_LABEL,
MINE_ERROR_OPEN,//有雷的格子,被打开
MINE_ERROR_LABEL,//不是雷的
您可能关注的文档
- 2017专业技术人员培训答案.docx
- 2017届毕业生就业推荐表评语模板.doc
- 2017化学一轮规范特训4-3氧硫及其重要化合物Word版含解析.doc
- 2017年客户服务中心培训计划.doc
- 2017七年级文言文复习资料.doc
- 2017年度材料作文100篇学生卷.docx
- 2017年内蒙专技继续教育学习计划考试100分答案.doc
- 2017年海南省职业院校技能大赛(中职组)“工程测量”赛项竞赛规程.doc
- 2017年电大管理学基础形成性考核册答案.docx
- 2017年广州二模标杆作文详评.doc
- 基本面选股组合月报:大模型AI选股组合本年超额收益达6.60.pdf
- 可转债打新系列:安集转债,高端半导体材料供应商.pdf
- 可转债打新系列:伟测转债,国内头部第三方IC测试企业.pdf
- 联想集团PC换机周期下的价值重估.pdf
- 计算机行业跟踪:关税升级,国产突围.pdf
- 科技类指数基金专题研究报告:详解AI产业链指数及基金布局.pdf
- 计算机行业研究:AIAgent产品持续发布,关税对板块业绩影响较小.pdf
- 民士达深度报告:国内芳纶纸龙头,把握变局期崛起机遇.pdf
- 社会服务行业动态:全球首张民用无人驾驶载人航空器运营合格证落地,霸王茶姬冲击美股IPO.pdf
- 通信行业研究:特朗普关税令落地,长期看好国产算力链.pdf
最近下载
- 2025年贵州省毕节地区黔西县林泉镇招聘社区工作者考前自测高频考点模拟试题含答案解析.docx VIP
- 高中的地理学业水平考试知识点.(全).doc
- 冀教版一年级数学下册课件 第4单元 阳光课间活动.pptx VIP
- 学校劳动教育清单(含小学初中高中).docx
- 玻璃幕墙施工方案.doc VIP
- 水的奇幻旅程.pptx VIP
- 辅警岗位知识培训课件.pptx
- 专题03 遇到角平分线如何添加辅助线模型-2025年中考数学常见几何模型全归纳之模型解读与提分精练(江西专用)(原卷版).docx
- 23秋国开电大《比较初等教育》终结性考核大作业参考答案.pdf
- 【教案】交流与传承——东西文化碰撞中的艺术嬗变+教学设计高中美术人美版(2019)美术鉴赏.docx VIP
文档评论(0)