MFC扫雷课程方案设计书报告.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
宿 迁 学 院 Windows程序设计 课程考核报告 班 级: 学 号: 姓 名: 得 分: 2013年12月20日 目录 1.设计目的及要求1.1设计目的及问题描述1.2设计要求1.3软件、硬件环境2. 课程设计步骤3. 课程设计内容3.1 概要设计3.1.1 程序总体框架描述3.1.2程序声明3.2主要技术------------------------------------------ 4 3.3系统设计结果 4.设计总结4.1遇到的问题及如何解决 题目:扫雷游戏 设计目的及要求 1.1设计目的及问题描述 系统地学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C++并在此环境下设计并实现一个简单扫雷游戏,该扫雷游戏应能实现如下功能: 雷区上部左侧显示总雷数减被标明有雷区域的数目。 (2)雷区上部中间位置显示一按钮用于开局和显示鼠标动作的结果。??? (3)雷区上部右侧显示扫雷的时间。 1.2设计要求 (1)能独立搭建可视化程序编程环境,掌握V is ua l C+ + 6 .0 的安装、运行和使用。 (2)总体要求:用面向对象编程的思想与方法,实现一个扫雷游戏的分析与设计阶段的开发工作,开发工具使用Visual C++6。 (3)编写设计方案,设计过程,源程序文件结构,分析实验方案,并对实验做出总结。 1.3软件、硬件环境 开发工具:Microsoft Visual C++ 6.0软件和Windows 2000/XP操作系统 课程设计内容 扫雷小游戏的开发与实现 课程设计步骤 步骤大致上可以分为三个部分,分别为:画面初始、游戏者按下第一个方块和为非地雷方块时展开。? 画面初始时,以游戏者最后一次设定的地雷区大小为范围画出地雷区,但此时并未产生地雷。当游戏者按下第一个方块时产生地雷资料并启动定时器,为何在游戏者按下第一个方块才产生地雷资料呢?其主要的用意在于不要让游戏者第一次就踩到地雷,这样在某种程度上可以提高游戏者游玩的气氛。接着就是如何判断按下的方块是非地雷时的处理,这也是整个游戏的技术核心,我们可以通过递归的观念来检查周边的方块是否含有地雷及是否继续往外翻开。 3.1 概要设计 相信大多数使用Windows操作系统的使用者,对这款游戏都不陌生。这款游戏不止操作简单,规则也不难,再加上游戏速度的控制机制得宜,让整个游戏在操作过程中充满了快乐与紧张的气氛。除了游乐当中能带给使用者快乐之外,游戏的设计内容无形中也不断训练使用者的逻辑思考能力,对于依靠高度脑力工作的现代人,都可以通过这个游戏,不时的检验一下自己,所以我们不难发现,在各种可携带的电子产品上都有这款游戏的踪影。? 当按下的方块不是地雷,且周边八个方块也都没有地雷时,方块会以被翻开方块的八个方向将空白方块翻开。 3.1.1 程序总体框架描述 扫雷游戏的开发主要包括两大部分:一个部分是布雷,该部分主要将雷随机布置在游戏区域内,以避免出现相同的雷区布置地图。另一部分是扫雷,该部分包括判断鼠标左键点击某区域该区域是否是雷,如果是雷该如何操作,如果不是雷该如何操作,鼠标右键点击某区域时如果判断该区域是雷则加以标记,如果不是雷也加以标记,以及当鼠标双击某区域时,判断与该区域相邻的其它8个区域是否是雷并做一个标记。 3.1.2程序常用类声明 首先定义一个雷类: class Lei243 //定义一个雷类 { public: int weitu; //显示哪一个位图 int shumu;//这个位置相应的值 }; ? 接着是在View类添加变量和函数: int leftnum; //剩下雷数 int leinum;//雷数 int jieshu;//结束 short second; //计时 int secondstart; //开始计时 CBitmap m_Bitmap[12];//位图数组 CBitmap m_anniu[4];//按扭位图数组 int m_RowCount;//雷区行数 int m_ColCount; //雷区列数 Lei243 lei[50][50]; //最大雷区 void leizero(); //这个位置周围雷数为0 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void On

文档评论(0)

ipad0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档