《扫雷的课程教学设计报告.docx》由会员分享,可在线阅读,更多相关《扫雷的课程教学设计报告.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、扫雷的课程教学设计报告 西安文理学院信息工程学院课程设计报告 设计名称:数据结构课程设计 设计题目:实现一个N*M的扫雷游戏 学生学号:1402130407 专业班级:软件13级四班 学生姓名:樊秀琳 学生成绩: 指导教师(职称):谢巧玲(讲师) 课题工作时间:2022.6.22 至2022.7.3 说明: 1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每个 学生。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。 3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律 按不及格处理。答辩由指导教师实施。 4、报告正文字数一般应不少于3000字,也可
2、由指导教师根据本门综合设 计的情况另行规定。 5、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按 不及格处理。 信息工程学院课程设计任务书 指导教师:院长: 日期:2022年6月22日 信息工程学院课程设计进度安排表 学生姓名:樊秀琳学号:1402130407 专业:软件工程班级:13级四班 指导教师签名: 2022年6月22日 成绩评定表 学生姓名:樊秀琳学号:1402130407 专业:软件工程班级:13级四班 摘要 摘要: 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是
3、这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。扫雷游戏是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算法设计和语言实现,如C,C+,VB,JAVA等。我利用eclipse编写了与它功能相似的扫雷游戏,寓学于乐。 程序的功能是随机生成地雷数,通过鼠标操作玩游戏,不接受键盘,按任意键结束程序。单击屏幕上的笑脸可以重新开始游戏。所有地雷标出后胜利,当鼠标左键单击到地雷时提示游戏失败。其功能类似于Windows操作系统自带的扫雷游戏。论文首先介绍了进行该游戏课程设计的目的,然后是任务描述和设计的相关要求,最后是最重要的需求分析和设计方案。重点介绍了在游戏过程中各事件的处理
4、,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为最要,鼠标事件是利用鼠标所发出的信息了解用户的意图,进而做出相对应的动作。清除未靠近地雷区的方块较为复杂。 关键词:算法设计;事件;Eclipse 目录 摘要- II 第一章课题背景(或绪论、概述)- 1 1.1 设计目的- 1 1.2基本理论依据和主要工作内容- 1 第二章设计简介及设计方案论述- 2 2.1功能需求- 2 2.2功能模块- 2 第三章详细设计- 3 3.1 总体设计- 3 3.1.1总体功能图- 3 3.1 主要技术- 4 第四章设计结果及分析- 5 4.1设计结果截图- 5 参考文献- 7 源代码- 8 第一章课题背景(
5、或绪论、概述) 1.1 设计目的 1使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。 2培养学生综合运用所学知识独立完成课题的能力。 3培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。 4提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。 5培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 6对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。 1.2基本理论依据和主要工作内
6、容 扫雷游戏主要用了一个10行10列的二维数组,刚开始利用random随机布雷。 每一个程序最主要的是算法。扫雷游戏算法的重点是一开始统计好每个格子周围有多少雷,当鼠标左键点在格子上时做出判断,如果周围8个格子有雷则显示出雷数,如果没有雷则显示空白格(在四个角的格子显示周围3个格子,其它边缘的格子显示周围5个的状态),我们在主函数中用两个for语句来判断周围雷数。我们还加了鼠标处理函数。 如果格子上有雷则调用函数actionpeformed (),显示“你踩到地雷了,按确定重来, 踩到地雷”,游戏结束。若所有的雷都标出,且所有的格子都处理过,则调用函数isWin (),显示“您挖完了所有的雷,
7、您胜利了!, 胜利,游戏结束。游戏结束后,按任意键出去。 第二章设计简介及设计方案论述 2.1功能需求 1.本游戏结构较为简单,可以自行设置设置雷数,以此来控制扫雷的难度系数; 2.提示区下方将显示总雷数,并可以通过点击右键来标明疑似有雷的区域的数目; 3.单击鼠标左键于未知区域,如果未知区域有雷,游戏提示:“你踩到地雷了,按确定重来”;如果没有雷,当需要检测的单元格本身无地雷的情况下,统计周围的地雷个数,则显示周围雷数,然后判断是否挖完所有的雷;如果周围没雷,则再查看周围八个区域是否有雷直到有雷为止,并显示周围雷的数目; 4.单击鼠标右键于未知区域,则显示F,将其标识有雷。在该位置再次单击右
8、键则视为不确定,显示Q,单击第三次,取消设置,Q消失; 5.如果该数字方块周围地雷已经完全标识出,双击该数字所在方块,将快速翻开所有周围不是地雷的方块,并显示,直到有雷为止; 6.将雷全部扫完后,会出现一个提示框,显示游戏胜利。 2.2功能模块 (1)游戏界面 (2)布雷 (3)鼠标事件 (4)地雷判断 (5)游戏胜利(结束) (6)游戏失败(结束) (7)游戏设置(地雷数量) 第三章详细设计 3.1 总体设计 游戏的操作方面主要以鼠标为主,当鼠标左键单击方块时即表示打开方块,当鼠标右键单击方块时即表示标识或疑似地雷,反复单击右键则方块会以“未标识标识疑似”三者关系不断循环。游戏者可以通过地雷
9、区内的数字提示了解以数字为中心的其周边八个方格内所含的地雷数,假若打开的方块显示数字“3”,则表示以其为中心的周边方块内藏有3个地雷。 当打开的方块不是地雷,且周边八个方块也都没有地雷时,方块会以被打开方块的八个方向将空白方块打开。 系统的总体设计是对整个系统的结构化设计,包括系统基本功能的设计、系统流程的设计和各个功能模块的设计等。 3.1.1总体功能图 3.1 主要技术 1.鼠标消息处理函数; actionPerformed(ActionEvent e) mouseClicked(MouseEvent e) 2.分模块实现较复杂的程序设计 设置地雷数 布雷 计算周围雷数 判断是否挖完所有雷 3.扫雷游戏算法 开始统计好每个格子周围有多少雷,当鼠标左键点在格子上时做出判断,如果周围8个格子有雷则显示出雷数,如果没有雷则显示空白格(在四个角的格子显示周围3个格子,其它边缘的格子显示周围5个的状态),我们在主函数中用两个for语句来判断周围雷数。我们还加了鼠标处理函数。