首页 基于LabVIEW虚拟仪器平台的扫雷软件开发毕业论文附录图用A3纸

基于LabVIEW虚拟仪器平台的扫雷软件开发毕业论文附录图用A3纸

举报
开通vip

基于LabVIEW虚拟仪器平台的扫雷软件开发毕业论文附录图用A3纸 2013届毕业设计(论文) 材 料 院 、 部: 电气与信息工程学院 学生姓名: 唐建芳 指导教师: 黄墩惠、董海兵 职 称: 副教授、讲师 专 业: 电子信息工程 班 级: 电子0901 学 号: 09401140132 2013年5月 材料清单 1、毕业设计(论文)课题任务书 2、毕业设计(论文)开题报告 3、工作进度检查表 4、答辩资格审查表 5...

基于LabVIEW虚拟仪器平台的扫雷软件开发毕业论文附录图用A3纸
2013届毕业设计(论文) 材 料 院 、 部: 电气与信息工程学院 学生姓名: 唐建芳 指导教师: 黄墩惠、董海兵 职 称: 副教授、讲师 专 业: 电子信息工程 班 级: 电子0901 学 号: 09401140132 2013年5月 材料清单 1、毕业设计(论文)课题任务书 2、毕业设计(论文)开题 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 3、工作进度检查表 4、答辩资格审查表 5、指导教师评阅表 6、评阅评语表 7、答辩及最终成绩评定表 8、毕业设计说明书 湖南工学院2013届毕业设计(论文)课题任务书 学院: 电气与信息工程学院 专业: 电子信息工程 指导教师 黄墩惠、董海兵 学生姓名 唐建芳 课题名称 基于LabVIEW虚拟仪器平台的扫雷软件开发 内 容 及 任 务 一、设计任务 本课题选择开放式的LabVIEW虚拟仪器软件开发平台,设计一款扫雷游戏软件,可分别实现初级、中级、高级三个级别的游戏。 具体指标与要求如下: (1)初级:实现6行6列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 (2) 中级:实现8行8列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 (3) 高级:实现12行12列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 二、设计内容 1、扫雷游戏前面板设计 前面板要求:仪器操作均在前面板进行;仪器操作方便,人性化设计;前面板美观大方。 2扫雷游戏程序框图设计 程序框图要求:设计思路简洁;功能完善,达到设计要求;布线合理,便于查看。 拟 达 到 的 要 求 或 技 术 指 标 三、前面板效果图(仅供参考) 1、级别选择前面板效果图 2、扫雷效果图 进 度 安 排 起止日期 工作内容 备注 2013.1.20—2013.2.20 学习和熟练掌握LabVIEW软件 2013.2.21—2013.3.21 收集与课题相关的资料,并完成开题报告的书写 2013.3.22—2013.4.22 分析、综合、整理相关的资料,确定课题的设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,并为撰写论文做准备 2013.4.23—2013.5.31 论文写作,并熟悉相关知识,整理论文 2013.6.01—2013.6.10 进行后期的系统的整理,并为毕业答辩做准备 主 要 参 考 资 料 [1]、张凯.《LabVIEW虚拟仪器工程设计与开发》.国防工业出版社,2007. [2]、张桐.《精通LabVIEW程序设计》.电子工业出版社,2008. [3]、王福明.《LabVIEW程序设计与虚拟仪器》.西安电子科技大学出版社,2009. [4]、黄松龄.《虚拟仪器设计基础教程》.清华大学出版社,2008. [5]、侯国屏.《LabVIEW7.1编程与虚拟仪器设计》.清华大学出版社,2005. [6]、杨乐平.《LabVIEW高级程序设计》.清华大学出版社,2003. [7]、黄义雄,戚丽丽.虚拟仪器下的电力参数测试.自动化与仪表,1998.1. [8]、朱守云,王春皓.虚拟技术及其在电气上的应用.电世界,1997.8. [9]、周求湛,钱志鸿,刘萍萍等,虚拟仪器与LabVIEW7.1程序设计.北京:北京航 空航天大学出版社,2004 [10]、雷振山,LabVIEW7.1Express实用技术编程.北京:中国铁道出版社,2004 [11]、侯国屏,叶齐鑫主编,基于LabVIEW7.1编程与虚拟仪器设计.北京:青华大学出版社,2004 [12]、陈锡辉,LabVIEW8.20程序设计从入门到精通.北京:青华大学出版社,2010 教研室意见 年 月 日 系主管领导意见 年 月 日 湖南工学院毕业设计(论文)开题报告 题 目 基于LabVIEW虚拟仪器平台的扫雷软件开发 学生姓名 唐建芳 班级学号 09401140132 专业 电子信息工程 1 课题研究背景 1.1 课题研究来源 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生的一部分,越来越多的人使用计算机办公、娱乐等等。 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。 扫雷最原始的版本可以追溯到1973年一款名为"Cube"(方块)的游戏。 1985年,“方块”被改写成了游戏"Relentless Logic"[2](简称为“Rlogic”)。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆·安德森(Tom Anderson)在“Rlogic”的基础上又编写出了游戏“XMines”[3](地雷),由此奠定了现代扫雷游戏的雏形。 在此基础上,1989年开始受雇于微软公司的两位工程师罗伯特·杜尔(Robert Donner)和卡特·约翰逊(Curt Johnson)开发出了扫雷游戏,这才有了一款金典的游戏。 目前关于扫雷软件的开发和设计大部分用到的是JAVA和c/c++语言,相反用到其他开发语言的就很少了,因此本人基于兴趣,经反复研究,找到了一款图形界面开发工具——LabVIEW,所以本次的毕业设计我将利用LabVIEW作为开发工具,开发一款类似于Windows操作系统自带的“扫雷游戏”。 1.2选题研究的目的和意义 经过大学学习,我对LabVIEW知识已经有了一定的了解与认知,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序的开发和设计上有新的认识并能有所提高。 本次毕业设计既锻炼了我们的实际动手能力,又在老师的指导下进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要意义。 2 课题研究内容、关键问题以及设计流程 2.1 课题设计内容 A 扫雷游戏前面板设计 前面板要求:仪器操作均在前面板进行;仪器操作方便,人性化设计;前面板美观大方。 B 扫雷游戏程序框图设计 程序框图要求:设计思路简洁;功能完善,达到设计要求;布线合理,便于查看。 C 扫雷游戏程序设计要求 本课题选择开放式的LabVIEW虚拟仪器软件开发平台,设计一款扫雷游戏软件,可分别实现初级、中级、高级三个级别的游戏。 具体指标与要求如下: (1) 初级:实现6行6列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 (2) 中级:实现8行8列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 (3) 高级:实现12行12列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 2.2 课题设计的关键问题 通过研究Windows操作系统自带的扫雷游戏,我们可以发现在这个游戏中主要有以下两个关键的地方: 第一个是初始化问题,包括随机产生本局游戏中雷的总数,雷的分布对于每一个小区域如何获取周围地区分布的雷数等等。 第二就是对鼠标操作的处理问题,既在游戏过程中对鼠标操作应如何做出反应。 2.3 课题设计的流程 经分析主要有以下设计部分: 在不掀开任何藏有地雷的方块情况下,以最快的速度找出所有的地雷。如果在掀开方块的过程中,不小心翻开(踩到)藏有地雷的方块,则宣告失败(游戏结束),惟有将所有不含地雷的方块掀开,游戏才算成功。 游戏的操作方面主要以鼠标为主,当鼠标指针对准未翻开的方块按下左键时即表示翻开方块,当鼠标指针对准未翻开的方块按下右键时即表示标示或疑示地雷,反复按下右键则方块会以未标示→标示→疑似三者关系不断循环。游戏者可以通过地雷区内的数字提示了解以数字为中心的其周边八个方格内所含的地雷数,假若翻开的方块显示数字“3”,则表示以其为中心的周边方块内藏有3个地雷。 对应游戏流程如下图: 图1 游戏流程图 3 毕业设计思路框架 3.1整体设计方法 1.查询相关资料,了解本系统的研究意义。可以上网搜索或者是去图书馆查阅相关资料。 2.通过查询资料了解该系统要如何做,及要做哪些东西。 3.设计出大体上的功能模块,画出模块图。 4.通过进一步的了解,对每个功能模块进行细化,将每一步都想清楚。制定出每一步的做法和注意的地方。 5.对设计好的程序进行调试,通过调试发现存在的问题并解决,从而达到完善系统的目的。 6.最后,整理各阶段的设计 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 文档,写成论文稿。 3.2 开发工具的选择 目前的可用的设计技术在设计此类系统上的数据库技术已经非常成熟,可提供的开发工具也很多,例如:Visual C++ ,Visual Basic,PowerBuilder,Dephi, visual foxpro等,它们都是很好的数据库开发工具,都是可视化开发工具,功能强大,开发容易,开发周期短,对于本任务都能够胜任。 与Visual C++ ,Visual Basic 一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据 3.3.设计工具即LabVIEW简介 LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足 GPIB、VXI、RS-232和 RS-485 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。 图形化的程序语言,又称为 “G” 语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。 利用 LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。 它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统(支持32位的嵌入式系统,并且可以扩展的),不断完善中(大家可以搜索 CPUVIEW 会有更详细信息;) 4 课题设计详细要求及开发环境 4.1系统功能要求 (1)打开游戏:玩家只要点击SweepMines.exe文件,就可以打开游戏。 (2)选择游戏难度:进入游戏,在提示菜单中会显示有简单、中等、困难三个选择类型,玩家根据自己的水平进入不同的游戏困难程度。 (3) 进行扫雷游戏:玩家只要把鼠标移到雷区里的任意格子,就可以对格子进行操作, 包括左击进行扫雷,右击插旗子。如果左击的格子里面的数是-1,则表明你挖到雷了,这时,所有的雷会全部显示出来,而且不论左击还是右击,都不能对格子操作。只能点击“开始”或者点击表示状态的笑脸。 如果之前右击插入旗子的格子里面是雷,则旗子不动,若不是雷,则显示带叉的雷,表示插旗错误。 (4)重新开始游戏:如果玩家在游戏失败后,需要重新玩游戏,可以点击显示菜单中提示的“是否重新开始游戏”菜单里的“是”,这时游戏就会重新布雷,玩家可以重新体验游戏。 (5) 退出游戏:在游戏的任何时候,玩家都可以点击对话框右上角的“x”按钮,退出游戏。 4.2系统性能描述 本游戏借助LabVIEW开发软件,通过对不同的 控件、子VI相互连接和调用来完成操作,最后打包生成扫雷软件。 4.3 设计环境 (1)硬件环境 计算机一台 (2)软件环境 操作系统 Windows 7 开发工具 LabVIEW 2011 5 研究进度计划 第一阶段 2013.1.20—2013.2.20 学习和熟练掌握LabVIEW软件 第二阶段 查阅相关的资料 2013.2.21—2013.3.21 收集与课题相关的资料,并完成开题报告的书写 第三阶段 整理收集的资料 2013.3.22—2013.4.22 分析、综合、整理相关的资料,确定课题的设计方案,并为撰写论文做准备 第四阶段 论文写作 2013.4.23—2013.5.31 论文写作,并熟悉相关知识,整理论文 第五阶段 答辩准备 2013.6.01—2013.6.10 进行后期的系统的整理,并为毕业答辩做准备 6 参考文献 [1]、张凯.《LabVIEW虚拟仪器工程设计与开发》.国防工业出版社,2007. [2]、张桐.《精通LabVIEW程序设计》.电子工业出版社,2008. [3]、王福明.《LabVIEW程序设计与虚拟仪器》.西安电子科技大学出版社,2009. [4]、黄松龄.《虚拟仪器设计基础教程》.清华大学出版社,2008. [5]、侯国屏.《LabVIEW7.1编程与虚拟仪器设计》.清华大学出版社,2005. [6]、杨乐平.《LabVIEW高级程序设计》.清华大学出版社,2003. [7]、黄义雄,戚丽丽.虚拟仪器下的电力参数测试.自动化与仪表,1998.1. [8]、朱守云,王春皓.虚拟技术及其在电气上的应用.电世界,1997.8. [9]、周求湛,钱志鸿,刘萍萍等,虚拟仪器与LabVIEW7.1程序设计.北京:北京航空航天大学出版社,2004 [10]、雷振山,LabVIEW7.1Express实用技术编程.北京:中国铁道出版社,2004 [11]、侯国屏,叶齐鑫主编,基于LabVIEW7.1编程与虚拟仪器设计.北京:青华大学出版社,2004 [12]、陈锡辉,LabVIEW8.20程序设计从入门到精通.北京:青华大学出版社,2010 报告人签名: 年 月 日 指导教师批阅意见 指导教师(签名): 年 月 日 注:可另附A4纸 湖南工学院毕业设计(论文)工作进度检查表 题目 基于LabVIEW虚拟仪器平台的扫雷软件开发 学生姓名 唐建芳 班级学号 09401140132 专业 电子信息工程 指 导 教 师 填 写 学生开题情况 学生调研及查阅文献情况 毕业设计(论文)原计划有无调整 学生是否按计划执行工作进度 学生是否能独立完成工作任务 学生的英文翻译情况 学生每周接受指导的次数及时间 毕业设计(论文)过程检查记录情况 学生的工作态度在相应选项划“√” □认真 □一般 □较差 尚存在的问题及采取的措施(从教务系统中打印6次指导记录): 报告内容1:最终设计结果是以什么形式提及?? 评阅内容:最终设计出的游戏软件要打包成exe可执行文件 报告内容2:开始收集毕业设计相关资料 评阅内容: 请抓紧时间完成程序设计及仿真,开始着手论文写作 报告内容3:设计程序 评阅内容:快要答辩了,毕业设计进展怎样呢? 报告内容4: 设计程序 评阅内容:快要答辩了,毕业设计进展怎样呢? 报告内容5:你把程序要打包成一个可执行文件 报告内容6 :基本完成程序,进一步完善 评阅内容:好的。文档也要跟进,严格按照标准格式进行 指导教师签字: 年 月 日 学院意见: 负责人签字: 年 月 日 湖南工学院毕业设计(论文)答辩资格审查表 题 目 基于LabVIEW虚拟仪器平台的扫雷软件开发 学生姓名 唐建芳 学    号 09401140132 专 业 电子信息工程 指导教师 黄墩惠、董海兵 内容综述(对毕业设计或论文的研究步骤和方法、主要内容及创新之处进行综述,提出答辩申请): 经过大学学习,我对LabVIEW知识已经有了一定的了解与认知,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序的开发和设计上有新的认识并能有所提高。 本次毕业设计既锻炼了我们的实际动手能力,又在老师的指导下进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要意义。 具体指标与要求如下: (1) 初级:实现6行6列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 (2) 中级:实现8行8列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 (3) 高级:实现12行12列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 目前关于扫雷软件的开发和设计大部分用到的是JAVA和c/c++语言,相反用到其他开发语言的就很少了,因此本人基于兴趣,经反复研究,找到了一款图形界面开发工具——LabVIEW,所以本次的毕业设计我将利用LabVIEW作为开发工具,开发一款类似于Windows操作系统自带的“扫雷游戏”。     申请人签名: 日期: 资  格  审  查  项  目 是 否 01 工作量是否达到所规定要求     02 文档资料是否齐全(任务书、开题报告、外文资料翻译、定稿论文及其相关附件资料等)     03 是否完成任务书规定的任务     04 完成的成果是否达到验收要求     05 是否剽窃他人成果或者直接照抄他人设计(论文) 指导教师签名: 毕业设计(论文)答辩资格审查小组意见: 符合答辩资格,同意答辩 □      不符合答辩资格,不同意答辩□ 审查小组成员签名:       年    月    日 注:此表中内容综述由学生填写,资格审查项目由指导教师填写。 湖南工学院2013届毕业设计(论文)指导教师评阅表 学院: 电气与信息工程学院 学生姓名 唐建芳 学 号 09401140132 班 级 电子0901 专 业 电子信息工程 指导教师姓名 黄墩惠、董海兵 课题名称 基于LabVIEW虚拟仪器平台的扫雷软件开发 评语:(包括以下方面,①学习态度、工作量完成情况、材料的完整性和规范性;②检索和利用文献能力、计算机应用能力;③学术水平或设计水平、综合运用知识能力和创新能力;) 是否同意参加答辩: 是□ 否□ 指导教师评定成绩 分值: 指导教师签字: 年 月 日 湖南工学院毕业设计(论文)评阅评语表 题  目 基于LabVIEW虚拟仪器平台的扫雷软件开发 学生姓名 唐建芳 班级学号 09401140132 专业 电子信息工程 评阅教师姓名 王韧 职称 副教授 工作单位 湖南工学院 评分内容 具 体 要 求 总分 评分 开题情况 调研论证 能独立查阅文献资料及从事其他形式的调研,能较好地理解课题任务并提出实施方案,有分析整理各类信息并从中获取新知识的能力。 10 外文翻译 摘要及外文资料翻译准确,文字流畅,符合规定内容及字数要求。 10 设计质量 论证、分析、设计、计算、结构、建模、实验正确合理。 35 创新 工作中有创新意识,有重大改进或独特见解,有一定实用价值。 10 撰写质量 结构严谨,文字通顺,用语符合技术规范,图表清楚,书写格式规范,符合规定字数要求。 15 综合能力 能综合运用所学知识和技能发现与解决实际问题。 20 总评分 评阅教师 评阅意见 评阅成绩 评阅教师签名 日期 湖南工学院2013 届毕业设计(论文)答辩及最终成绩评定表 学院:电气与信息工程学院 专业:电子信息工程 学生姓名 唐建芳 学号 09401140132 班级 0901 答辩日期 课题名称 基于LabVIEW虚拟仪器平台的扫雷软件开发 指导教师 董海兵 黄墩惠 成 绩 评 定 分值 评 定 小计 宋绍民 吴乐 雷军 黄墩惠 董海兵 课 题 介 绍 思路清晰,语言表达准确,概念清楚,论点正确,实验方法科学,分析归纳合理,结论严谨,设计(论文)有应用价值。 30 答 辩 表 现 思维敏捷,回答问题有理论根据,基本概念清楚,主要问题回答准确大、深入,知识面宽。 必 答 题 40 自 由 提 问 30 合 计 100 答 辩 评 分 分值: 答辩小组长签名: 答辩成绩a: ×20%= 指导教师评分 分值: 指导教师评定成绩b: ×60%= 评阅教师评分 分值: 评阅教师评定成绩c: ×20%= 最终评定成绩: 分数: 等级: 答辩委员会主任签名: 年 月 日 说明:最终评定成绩=a+b+c,三个成绩的百分比由各学院自己确定,但应控制在给定标准的10%左右。 2013 届毕业设计说明书 基于LabVIEW虚拟仪器平台的扫雷软件开发 院 、 部: 电气与信息工程学院 学生姓名: 唐建芳 指导教师: 黄墩惠 职称 副教授 指导教师: 董海兵 职称 讲师 专 业: 电子信息工程 班 级: 电子0901 完成时间: 2013年5月31日 摘 要 LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足 GPIB、VXI、RS-232和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。 本论文研究的是以LabVIEW虚拟仪器平台为开发环境,通过在PC机上用LabVIE设计其功能类似于windows操作系统自带的扫雷游戏。介绍基于该平台的设计原理和开发过程,可以在该平台上调试常用工具,分析典型项目组织结构。 论文首先介绍了LabVIEW的一些基本信息,包括LabVIEW虚拟仪器平台、开发环境等等;然后介绍了制作游戏的整体思路及整个游戏设计的流程规划;再详细介绍了游戏各模块的设计,如雷区的布置及地雷随机产生的实现方法;其次重点介绍了扫雷游戏界面的实现、扫雷游戏核心——布雷算法设计、在游戏过程中鼠标响应事件等等。本次设计只是完成了扫雷游戏的基本功能,在细节方面仍有待以后完善。 关键词:图形化;控制软件;扫雷游戏;LabVIEW;虚拟仪器 Abstract LabVIEW (Laboratory Virtual instrument Engineering Workbench) is a graphical programming language development environment, it has been widely accepted by industry, academia and research laboratories, as a standard data acquisition and instrument control software. LabVIEW integrates with all functions of GPIB, VXI, RS-232 and meet the RS-485 protocol of the hardware and data acquisition card communication. It also has a built-in library functions in order to use TCP\/IP, ActiveX software standards. This is a powerful and flexible software. It can be used to facilitate the establishment of virtual instruments of its own, its graphical interface makes programming and use of the process are lively and interesting. Minesweeper is Windows operating system comes with a small game, in the past few years, the Windows operating system through several times of regeneration, becomes more and more large, complex, the function is also more and more powerful, but the game still maintained the original appearance, so the game by more and more people love. This study is based on LabVIEW virtual instrument platform as the development environment, through the design of its function is similar to the windows operating system of mine own game by LabVIE on PC. This paper presents design principle and development process based on this platform, you can debug tools used in the platform, analysis of typical project organizational structure.This paper firstly introduces LabVIEW some basic information, including the LabVIEW virtual instrument platform, development environment and so on; and then describes the overall train of thought to make the game and the game design process planning; and then introduces the design of each module of the game, such as minefield layout and randomly generated mine method; secondly, introduces the implementation of the Minesweeper game interface Minesweeper game core -- mining algorithm design, in the course of the game the mouse response to the incident. This design just completed the basic function of mine game, still need to be perfect in details later. Key words: graphical; control software; minesweeper game; labview; virtual instrument 目 录 11 绪论 22 LabVIEW虚拟仪器平台简介 22.1 电子测量仪器的发展 22.2 虚拟仪器概述及其特点 32.3 虚拟仪器的硬件系统 32.4 虚拟仪器的软件系统 53 开发环境 53.1 开发工具——LabVIEW 53.1.1 LabVIEW简介 73.1.2 LabVIEW的起源与发展历程 93.2 开发外围环境 93.2.1 操作系统 93.2.2 运行环境 93.3 开发意义 93.4 设计任务及内容 93.4.1 设计任务 93.4.2 设计内容 104 可行性分析和需求分析 104.1 可行性分析 104.2 需求分析 114.2.1 理解需求 114.2.2 功能需求 125 扫雷游戏软件总体设计概述 125.1 主要模块概述 145.2 设计步骤流程 156 扫雷游戏软件详细设计 156.1 扫雷游戏界面的实现 156.1.1 扫雷游戏主界面的设计 176.1.2 游戏难度选择界面设计 186.2 扫雷游戏核心——布雷算法设计 196.3 扫雷游戏响应事件的设计 196.3.1 时间和雷数提示功能设计 206.3.2 鼠标控制扫雷过程消息设计 216.4 扫雷游戏整体界面和程序优化 227 扫雷游戏软件功能测试和运行 227.1 打包成可执行软件 257.2 逐步测试各项功能 257.2.1 测试初级、中级、高级三个选择按钮。 307.2.2 游戏完成 307.2.3 游戏失败 31结束语 33参考文献 35致 谢 36附录一 后面板程序总图之一 37附录二 后面板程序总图之二 38附录三 后面板程序总图之三 1 绪论 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生的一部分,越来越多的人使用计算机办公、娱乐等等。 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。 扫雷最原始的版本可以追溯到1973年一款名为"Cube"(方块)的游戏。 1985年,“方块”被改写成了游戏"Relentless Logic"[2](简称为“Rlogic”)。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆·安德森(Tom Anderson)在“Rlogic”的基础上又编写出了游戏“XMines”[3](地雷),由此奠定了现代扫雷游戏的雏形。 在此基础上,1989年开始受雇于微软公司的两位工程师罗伯特·杜尔(Robert Donner)和卡特·约翰逊(Curt Johnson)开发出了扫雷游戏,这才有了一款金典的游戏。 目前关于扫雷软件的开发和设计大部分用到的是JAVA和C/C++语言,相反用到其他开发语言的就很少了,因此本人基于兴趣,经反复研究,找到了一款图形界面开发工具——LabVIEW,所以本次的毕业设计我将利用LabVIEW作为开发工具,开发一款类似于Windows操作系统自带的“扫雷游戏”。 2 LabVIEW虚拟仪器平台简介 2.1 电子测量仪器的发展 电子测量仪器的发展,大体上可以分为四代:模拟仪表,数字仪表,智能仪器与虚拟仪器。第一代的模拟工具,如指针式万用表,晶体管电压表等。第二代数字仪器,仪器是很流行的,如数字电压表,数字频率计。这种仪器的模拟信号转换成数字信号的测量、数字测量,最终输出的结果,适用于测量快速响应和高精度。智能仪器的第三代,该仪器内置微处理器,可进行自动测试和数据处理的某些能力,可以代替部分脑力劳动,传统上被称为智能仪表。功能块都是基于硬件(或固化的软件)的形式存在,相应的虚拟仪器,是否发展或应用,缺乏灵活性。虚拟仪器的第四代,它是现代计算机技术产品,通讯技术和测量技术相结合,是对传统仪器概念的重大变化,将仪器仪表工业的一个重要发展方向。 2.2 虚拟仪器概述及其特点 虚拟仪器是基于计算机的仪器,是美国国家仪器公司(美国国家仪器公司的Ni)提出的1986。仪器发展的计算机和仪器的一个重要的方向紧密结合。 大致说来,有这两种方法相结合,一个是电脑的仪器,其典型的例子就是所谓的智能化仪器。更强大和它的体积逐渐缩小,这类仪器的功能也越来越强,与嵌入式系统设备出现。另一种方法是仪器到计算机。在一般的计算机硬件和操作系统为基础,实现各种仪器功能。虚拟仪器主要是指这种方式,它是由计算机硬件资源,用于数据分析的模块化的软硬件,测控系统的进程间通信和图形用户界面软件。虚拟仪器技术突破了传统仪器由厂家定义的出现,用户无法改变的模式,给用户一个充分发挥自己才能,想象。用户可以根据自己的要求,仪器系统的设计,满足不同的应用需求。 与传统仪器相比,虚拟仪器具有以下优点: (1)突破了传统仪器在数据处理,显示,存储等方面,大大增强了传统器的功能。高分辨率显示的高性能处理器,大容量的硬盘已成为虚拟仪器的标准配置。 (2)用计算机资源的软件,实现了仪器硬件的软件部分,节约物质资源,增加了系统的灵活性;通过软件技术和相应的数值算法,实时,直接分析和试验数据处理:通过图形用户界面(GUI)技术,真正的人性化,人机交互。 (3)基于计算机总线和基于硬件的模块化仪器,实现了模块化,系列化,大大降低系统的大小,可以方便的构建模块化仪器 (4)基于计算机上的。计算机网络技术和接口技术,VI系统具有网络方便,灵活的(连接),广泛支持,如现场工业总线标准。因此,可以方便地建立一个基于虚拟仪器技术的自动测试系统(ATS,自动测试系统),网络测量,过程控制。 (5)基于计算机放标准的体系结构。硬件和软件,虚拟仪器具有开放的模块化,可重用和互换性的特点。因此,用户可以根据自己的需要,选择不同的产品制造商,效率更高的仪器系统的开发更灵活,成立时间,缩短开发过程。 2.3 虚拟仪器的硬件系统 虚拟仪器的硬件系统一般分为计算机硬件平台、测试硬件的功能。根据不同的硬件控制功能,可以分为GPIB,VXI,PX和数据采集四标准体系结构: (1)GPIB(通用接口总线)是一种通用接口总线,计算机和仪器的标准通信协议。硬件规格和软件协议GPIB已被纳入国际标准EEE 488.1和eee488.2枣业。这是最早的仪器总线。GPIB典型测试系统包括计算机,GPIB接口卡和多个GPIB仪器。 (2)VXI(VME总线扩展仪器)是VME总线在仪器领域的延伸,是标准的开放式仪器总线厂商共同制定的主要工具1987。VXI总线架构结合GPIB和VME总线的优点,它集成系统的硬件集成,数据传输率,具有良好的可移植性,是建筑行业的关注。 (3)PXI(PCI仪器扩展)在仪器领域的扩展,是打开一个新的类,模块化仪器总线NI公司发布1997。其核心是紧凑型PCI微软的Windows软件。PXI是PCI内核技术提高了技术规范和成熟形式的要求。由于它的高吞吐量的硬件总线,低价格被业界认为是符合国情的一种系统结构。 (4)数据采集(数据采集)的数据采集,它是基于计算机标准总线(如ISA,PCI,PC/104)内置功能卡。它充分利用计算机资源,大大提高了系统的灵活性和可扩展性测试。使用数据采集,可以方便的基于计算机的仪器的快速形成(计算机basedinstruments),实现了“机”和“一机多用”。在PC机上挂一些数据采集功能模块,配合相应的软件,可以构成一个表有多个的PC仪器的功能。在虚拟仪器与计算机连接各种标准的互连使用IEEE 488或GPIB协议。未来的仪器也应网络。 2.4 虚拟仪器的软件系统 基于虚拟仪器技术的核心理念,是计算机硬件,软件资源的使用,使原本需要硬件到软件(虚拟)。基于NI VI系统软件的重要作用,提出了,“软件就是仪器(软件就是仪器)”的口号。 虚拟仪器的软件框架,从低层次到顶层,包括三个部分:VISA库,仪器驱动程序,应用软件。VISA(虚拟1nstrumentation软件体系结构)的虚拟仪器软件体系结构,人的本质是函数库的I / O标准及相关标准。一般所说的I / 0的VISA库函数库。特殊函数驻留在计算机系统执行仪器总线,是计算机与仪器之间的连接的一个软件层,实现仪器的控制。这是仪器驱动程序开发人员是一个处理函数可以被称为集。设备驱动程序是完成一个特定的仪器控制和通信软件程序集。它是实现仪器控制应用的桥梁。每台仪器模块有自己的仪器驱动程序,在源表仪器制造商提供给用户。应用软件是建立在仪器的驱动程序,直接面对用户,通过提供直观、友好的控制界面,数据分析和处理功能,完成自动测试任务。 虚拟仪器的软件应用程序的编写,大致可以分为两个方面: (1)用一般的编程软件编写。主要的微软,Visual Basic和VisualC++,Borland Delphi Sybase PowerBuilder,,,。 (2)与专业图形化编程软件的开发。公司如惠普VEE,NI LabVIEW、LabWindows/CVI。图形软件系统开发和工程人员的图形符号术语熟悉替换文本编程语言,界面友好,操作简单,可以大大缩短系统的开发周期,由专业人员的青睐。 应用软件还包括数字处理软件。用于数字信号处理的各个函数的通用数字信号处理软件,如功率谱分析,FFT谱估计,逆FFT:相关分析,时域卷积,卷积运算分析,根均方估计,微分积分运算和排序。和数字滤波等。这提供了一个基本的功能为用户进一步扩大虚拟功能。 LabVIEW是一种图形化的编程语言,它已经得到业界的广泛认可,学术界和研究实验室,作为一个标准的数据采集和仪器控制软件。LabVIEW结合GPIB,VXI总线的全部功能,RS-232和满足硬件和数据采集卡的通信,RS-485协议。它以使用TCP / IP也有一个内置的库函数,Acvex和其他软件的标准。这是一个强大的和灵活的软件。它可以用来促进自己的虚拟仪器的建立,它的图形界面的编程和使用生动有趣。 图形化的编程语言,也被称为“G”语言。使用这种语言编程时,基本上不写代码,代替某人。是一个流程图或图表。这是可能使用的技术人员,科学家,工程师所熟悉的术语,图标和概念,因此,LabVIEW是一个终端用户工具。使用LabVIEW,可以产生独立的可执行文件,它是一个真正的32位编译器。像许多重要的软件,LabVIEW提供的Windows,UNIX,Linux,Mac”的多个版本。 3 开发环境 3.1 开发工具——LabVIEW 在设计这类系统数据库技术目前的可用的设计技术已经非常成熟,开发工具,如Visual C++,Visual Basic,PowerBuilder,Delphi,Visual FoxPro等,他们都是很好的数据库开发工具,可视化的工具,功能强大,易于开发,,开发周期短,能够完成这一任务。 用Visual C++,Visual Basic,LabVIEW编程系统是通用的,有一个完整的任何编程功能的任务。LabVIEW库包括数据采集,GPIB,串口控制,数据分析,数据显示和数据存储的LabVIEW,等。LabVIEW也有传统的调试工具,如设置断点,动画显示数据子程序(VI)结果,单步调试等 因此本人基于兴趣,经反复研究,确定了一款图形界面开发工具——LabVIEW,所以本次的毕业设计我将利用LabVIEW作为开发工具,开发一款类似于Windows操作系统自带的“扫雷游戏。 3.1.1 LabVIEW简介 (1) 什么是LabVIEW LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一个图形图标代替文本行来创建应用程序的语言。传统的文本编程语言根据报表和决策程序的顺序执行指令的序列,而LabVIEW使用的数据流,在决策图程序的执行顺序的节点之间的数据流。它使用的图标代表一个函数,用线表示数据fl LabVIEW提供了很多的外观和传统的仪器(如示波器,万用表)类似的控件,可以方便地用于用户界面的创建。用户界面是在LabVIEW前面板。使用图标和连线,可以在前面板上的控制对象的编程。这是图形化的源代码,也被称为G(图形)代码。在一个类似的数据流图的LabVIEW图像源代码,它也被称为程序框图。对应于每个面板的控制框图中的一个对象,当数据”到“控制,控件将显示数据按一定的方式要根据其自身的特点,如开关,数字或图形。图1.1的前面板和程序框图是一个LabVIEW实例,该实例模拟温度监测系统。 LabVIEW程序VI(虚拟仪器),虚拟仪器,这是因为它的许多接口控制和运行模拟现实世界的仪器,如示波器、万用表等。LabVIEW的核心理念是“软件就是仪器”,即,虚拟仪器的概念。LabVIEW也包含用于采集大量的工具和功能,分析。显示和存储。这些工具定向工具,用户只需要按照提示一步一步可以实现与仪器的连接和参数设置。而程序员也以这些为数众多的功能的不同的,因为这个功能的图标和名称中存在一个小功能面板的形式,当需要使用一个函数从函数面板上的图可以。这是一个图形化的效益。 (2 )LabVIEW的作用 由于LabVIEW用于创建通用的应用程序,因此被称为一个通用的编程语言。但在测试更多的优点,测量和自动化等领域,LabVIEW提供了大量的工具和功能,数据采集,分析,显示和存储。同时,它还提供了一些常用的测试领域的测试自动化控制图。这允许用户完成全套器具,数据采集与自动测量系统分析,在几分钟内显示和存储。所以他被广泛的应用在汽车,航空航天,通讯,半导体,电子设计和生产,过程控制和生物医学领域,涵盖了从试验研究和发展,发展的各个阶段,生产服务产品。近年来,G语言教学在中国的实践是不断发展的。 LabVIEW不仅可以用来快速小测试自动化测量系统,分布式数据采集和控制系统也可以用来开发大。 在美国美国的劳伦斯Livermore Livermore国家实验室,在成本对飞秒激光切割系统的复杂2000万美元是基于LabVIEW平台开发。在这个系统中,4的Windows NT工作站连接到网络,采用LabVIEW提供激光测量自动测序,控制和高层次的用户界面,在半熟练的操作相同的时间。几乎所有类型的I/O硬件安装:数据采集,串口,GPIB,遥控SCXI,VME / VXI和IMAQ影像。由于项目的极端重要性,该项目已正式的软件质量保证过程。共有4个月的软件开发,创造了约600个VI。 作者参加了北京正负电子对撞机两级项目北京谱仪慢控制系统中,大约有30种的总数超过7000点物理量场数据需要实时控制和分析记录。软件体系结构的设计,作者负责系统和大部分的代码实现。该系统由8台电脑和两个服务器。8计算机连续收集十种硬件设备的数据,和分析,总结和本地显示。大规模分布式监控系统软件完全基于LabVIEW和DSC模块,包括约300个VI。 该系统是基于LabVIEW hondywell Measurex公司由工程MXProLine德克集团。这是第一个分布式控制系统,本代码95%是用LabVIEW写的。该系统采用5000以上的VI,可以处理10万个变量。 (3)选择LabVIEW的原因 选择LabVIEW开发测试和测量应用的原因是其发展的速度。通常,LabVIEW应用系统的开发速度,比使用其他编程语言的速度快4 ~10倍。这种惊人的速度在LabVIEW易于学习和使用,它提供的工具创建测试和测量应用更加容易。 LabVIEW的优势主要体现在以下几个方面。 提供了丰富的图形控件,和图形化的编程方法,完成工程师从复杂枯涩的文本编程编译器用户程序的解放是在后台自动完成。因此,用户在编写程序的过程中如果有语法错误,它会立即显示。由于数据流模型。 实现了自动多线程,可以充分利用处理器,特别是处理多处理器的能力。通过DLL,CIN,ActiveX,网络节点或MATLAB。脚本节点和其他技术,可以很容易的LabVIEW与其他编程语言的混合编程。通过应用程序生成器可以很容易地释放程序,动态链接库和安装驱动.labview提供大量与专用工具,几乎任何接口硬件容易.labview建成600多分析功能,用于数据分析和信号。 NI还提供了额外的模块,在不同的领域扩展了LabVIEW的应用,如实时模块,PDA模块,FPGA模块,数据记录和监测(DSC)模块,视觉模块和触摸屏模块。 3.1.2 LabVIEW的起源与发展历程 (1)起源  早在十九年代初,几乎所有的可编程仪器实验室测试系统通过仪表控制器专业,这些昂贵的、功能单一的控制器使用IEEE-488总线通过必要的端口控制(GPIB总线)仪器,1983,随着个人计算机的出现,NI公司已成为主要供应商的个人计算机的硬件接口,GPIB然而,用于软件性能控制仪是不好的,几乎100%的仪器控制程序是用BASIC语言开发的,虽然基本的优点,如简单,可读指令集和交互功能等,但它有一个基本的问题,像其他的文本编程语言,如果计算机控制系统,无论是科学家,工程师和技术人员必须知道编程,他们必须把应用软件和他们使用的工具的知识我NTO的文本行,这个过程主要是繁重而单调乏味的,特别是对于那些没有编程经验的话。  NI公司有自己的设计团队,任务是致力于发展的基本程序是用来控制仪器,其灵敏度注意仪器编程工作压力在工程师科学家们对身体的负担,它开发的工具软件开发的新工具。但是,这个工具将使用什么形式?两位创始人吉姆和杰夫kodosky Ni杜鲁查德,随着maccrisken杰克,开始开发这个软件工具,可以大大提高truched研究的科学家和工程师的测试工具,软件产品的模型,他认为是一个电子 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 ,表格解决kodosky和maccrisken都面临同样的问题,即如何使非编程的计算机用户可以使用计算机。但电子数据表操作的财务计划的发展,和三组是想帮助工程师和科学家的方式,三人的口号是:创建一个软件工具,工程师和科学家们对金融业的影响和电子数据表的影响。大。但他们没有一个具体的概念。  1984苹果公司推出了Macintosh计算机,有更好的重大转变。他们看到了这个小机器的图形特征,你知道“图形”,他们应该在未来。相比于操作输入字符串命令,有效发挥创造力的人们使用鼠标和图形界面是前所未有的。图形面板是人类和测量过程之间的相互作用的最佳途径。前面板和实际的仪器是非常相似的,事实上,这些程序的虚拟仪器。在理论上这是一个很好的概念,但当他们去到实际操作,这个概念已经战胜一切困难。  在最初的概念,使用交互式面板为用户界面编写测试程序,甚至比传统的基本困难得多。所以,他们决定研究是否创造性地发明,建立一个更简单和易于使用的交互面板程序通过Macintosh的GUI。他们研究了一些图形技术,但是每一次或返回数据流结构,因为这是最常见的,也是最有效的方式。一旦他们找到如何概念和数据结构化程序设计流程的组合,所有的问题都会迎刃而解。  虚拟仪器技术的结构化的数据流图和交互面板。图标和面板的结合使得在其他程序中图的虚拟仪器也可称为。所以我们可以根据不同的需要灵活的多层次的复杂系统。最后,他们要做的是建立一个软件环境,将使科学家和工程师们可以很容易地和迅速地建立一个虚拟仪器编程。 为了不被打扰打扰他们的日常工作,和一群年轻的毕业生选择研究在一个遥远的地方的项目公司的办公室。随着世界的使命感的变化,集团成立了一个崇高的目标。许多面临发展的挑战,有时甚至怀疑LabVIEW开发,以及它是否能让人们愿意购买和使用。 (2)发展历程  自20年来,LabVIEW从未停止创新的步伐。继续改善,更新和扩展,利用LabVIEW牢牢占据主导地位的领域的自动化,测量。LabVIEW图形化的发展彻底改变了开发测试,测量与控制系统。现在继续扩大其应用领域。    LabVIEW1.0在1986运行的第一个苹果公司在Macintosh上,这是因为之前的Windows操作系统的推出有远见和相信的图形界面将是未来大势所趋的开发人员,所以他们把基于苹果机的图形界面原始版本。LabVIEW开发的出发点是各种复杂的硬件功能的软件图标模式和描述,让用户摆脱繁琐的代码编程,采用图形化编程语言有效地完成他们的发展。在随后的几年中,镍的编译器,编辑器的显着改善,LabVIEW图形和其他细节。因为太阳和labview2.0 PC版本1992开始。在每个主要版本都包括与里程碑意义的飞跃的功能特性。在1998发布,LabVIEW5.0提供了多线程的支持功能,为多处理器的基础;第一个LabVIEW可以发布到操作系统的实时版本是天生的1999和2003;LabVIEW 7 Express介绍了波形数据类型,以及一些互动的,基于功能的配置;LabVIEW 8的分布式智能实现的2005个发射;最新的LabVIEW8.20提供仿真图和MathScript节点的功能,从测量到设计领域的平台。同时,介绍了LabVIEW 8.20简体中文版。 3.2 开发外围环境 3.2.1 操作系统 WindowsXP及以上版本的操作系统。 3.2.2 运行环境 虚拟仪器的软件系统。 3.3 开发意义 经过大学学习,我对LabVIEW知识已经有了一定的了解与认知,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序的开发和设计上有新的认识并能有所提高。 本次毕业设计既锻炼了我们的实际动手能力,又在老师的指导下进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要意义。 3.4 设计任务及内容 3.4.1 设计任务 本课题选择开放式的LabVIEW虚拟仪器软件开发平台,设计一款扫雷游戏软件,可分别实现初级、中级、高级三个级别的游戏。 具体指标与要求如下: (1) 初级:实现6行6列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 (2) 中级:实现8行8列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 (3) 高级:实现12行12列阵列的扫雷。具体规则同Windows平台下的扫雷游戏。 3.4.2 设计内容 (1)扫雷游戏前面板设计 前面板要求:仪器操作均在前面板进行;仪器操作方便,人性化设计;前面板美观大方。 (2)扫雷游戏程序框图设计 程序框图要求:设计思路简洁;功能完善,达到设计要求;布线合理,便于查看。 4 可行性分析和需求分析 4.1 可行性分析 适用于各种群体,学生、老师、白领,简单却有效地舒缓压力,消磨闲暇时光,一局所需的时间很短,低级的只需十多秒,此软件是以娱乐为主的休闲游戏,开发基于windows操作系统。具有操作方便、便于保存等优点 投资可行性:主要根据市场调查及预测的结果,以及有关的产业政策等因素,论证项目投资建设的必要性。 (1) 财务可行性:主要从项目及投资者的角度,设计合理财务方案,从企业理财的角度进行资本预算,评价项目的财务盈利能力,进行投资决策。 (2) 组织可行性:制定合理的项目实施进度计划、设计合理的组织机构、选择经验丰富的管理人员、建立良好的协作关系、制定合适的培训计划等,保证项目顺利执行。 (3) 经济可行性:主要从资源配置的角度衡量项目的价值,评价项目在实现区域经济发展目标、有效配置经济资源、增加供应、创造就业、改善环境、提高人民生活等方面的效益。 (4) 法律可行性:在开发一个软件之前一定要确定它是否触犯某项法律或与国家的相关规定是否抵触。扫雷游戏系统并不与任何法律或国家相关规定相抵 触,所以在法律可行性上是通过的,在进行设计时没有违法任何法律法规,也不对任何企业的系统进行侵权等。系统的研制和开发都选用正版软件,将不会侵犯他人、集体和国家的利益,不会违反相关的国家政策和法律。 (5) 技术可行性评价在限制条件下,功能目标基本能够实现和达到,利用现有技术,功能目标基本能够达到,开发人员足够能够满足条件要求,在规定时间内能够完成该项目开发 4.2 需求分析 随着社会的不断进步,人们所承受的压力不断上升,在游戏层出不穷的时刻,扫雷游戏仍受到不少人的青睐,其本身的性质,决定了人们对它的喜爱程度,不需要特殊的技巧,不需要不断地升级,不需要太多的时间进行初步的熟悉,简简单单却乐趣无穷。 4.2.1 理解需求 扫雷游戏软件的开发,需要进行用户需求调查与分析,以确定软件目标,提高解决问题的详细方案,这是软件开发的重要环节。 (1) 软件可以根据需求来设计功能模块,如 “初级”、“中级”、“高级”等。 (2) 软件运行在windows平台下,系统应该有一个较好的图形用户界面。 4.2.2 功能需求 需求分析的任务是通过详细调查现实世界要处理的对象,充分了解相同软件工作概况,明确各种需求,然后在此基础上确定新软件的功能。根据用户的需求,确定本软件应具有以下功能: (1) 具有计时功能,即显示用户完成移动盘子所花费的时间。 (2) 具有雷数提示功能,即提示本局游戏有多少个地雷。 (3) 用户可以设计“初级”、中级”、“高级”三个级别。 5 扫雷游戏软件总体设计概述 5.1 主要模块概述 根据实际需要,简化VI程序,该软件采用子VI调用,大大的简明程序的可读性。因此整体设计包含7个VI,分别是:BUSCAMINAS GAME!!!.vi、escojer niv.vi、Busc_About of....vi、COMPARACIONES.vi、CONTADOR、NIVELES1-2-3.vi、PERDER.vi。 (1)扫雷软件开始界面如下图1所示。 图1 扫雷软件开始界面 (2)扫雷软件游戏难度选择界面如下图2所示。 图2 扫雷软件游戏难度选择界面 (3)扫雷软件基本信息显示界面如下图3所示。 图3 扫雷软件基本信息显示界面 5.2 设计步骤流程 经分析主要有以下设计部分: 在不掀开任何藏有地雷的方块情况下,以最快的速度找出所有的地雷。如果在掀开方块的过程中,不小心翻开(踩到)藏有地雷的方块,则宣告失败(游戏结束),惟有将所有不含地雷的方块掀开,游戏才算成功。 游戏的操作方面主要以鼠标为主,当鼠标指针对准未翻开的方块按下左键时即表示翻开方块,当鼠标指针对准未翻开的方块按下右键时即表示标示或疑示地雷,反复按下右键则方块会以未标示→标示→疑似三者关系不断循环。游戏者可以通过地雷区内的数字提示了解以数字为中心的其周边八个方格内所含的地雷数,假若翻开的方块显示数字“3”,则表示以其为中心的周边方块内藏有3个地雷。 游戏流程图如下图4所示。 图4 扫雷软件流程图 6 扫雷游戏软件详细设计 6.1 扫雷游戏界面的实现 6.1.1 扫雷游戏主界面的设计 新建VI,命名为BUSCAMINAS GAME!!!,就会出现设计游戏主界面的前面板。为了使界面看上去更加简洁、舒适,因此本页面采用灰色做为背景。界面设计主要控件如下几步。 (1)添加数组控件 数组控件,主要用于布雷,每一个元素可能是一个扫雷点,根据扫雷的不同结果显示对应的图片,以便于直接观察扫雷结果。 设计效果图如下图5所示。 图5 数组控件显示效果图 (2)添加下拉列表控件 下拉列表控件,主要根据游戏结果显示不同的动态图片,此控件形象的表达了游戏的三个状态:游戏中、胜利、失败。 设计效果图如下图6所示: 图6下拉列表控件显示效果图 (3)添加数值控件 数值控件主要用于显示游戏时间,本次游戏总雷数。 设计效果图如下图7所示。 图7数值控件显示效果图 (4)添加一些修饰控件 修饰控件,顾名思义就是用于修饰界面,起到美观和整洁的作用。 以上控件组合设计后的效果图如下图8所示。 图8 游戏主界面效果图 6.1.2 游戏难度选择界面设计 为了适应不同人群,不同年龄的需求,本游戏设定了三个不同难度的等级,他们分别是:初级、中级、高级。同时也顺便简单的介绍了软件开发的一些基本信息。 故根据需求对应界面设计如下: (1)添加Dialog布尔控件。 Dialog布尔控件,作为选择按钮跳转到对应的选择界面 (2)添加簇控件。 簇控件主要用于归类一些相同或类似的功能的控件,使界面整洁,美观。 以上控件组合设计后的效果图如下图9所示。 图9 图游戏难度选择界面效果 图10游戏难度选择界面后面板 6.2 扫雷游戏核心——布雷算法设计 布雷算法程序设计图如下图11所示。 图11布雷算法程序图 如上图10 布雷算法,主要通过随机布雷来确保每次扫雷游戏都不相同,这是扫雷游戏经典之所在。 其一,在外While循环下,初始化数组确定数组的大小和元素初值,通过判断布雷的雷数达到预定的雷数(minas)时就终止布雷,即布雷完成。 其二,在内While循环下,通过控制布雷次数,即Minas1来完成布雷,其中Minasl必须大于minas,防止概率性重复布雷。i每增加一次就完成布雷,在i <= Minas1的情况下,数组的某个元素被赋值为1,反之被赋值为0。 其三,cons与随机数相乘,然后转换为长整型数,最后作为数组的x,y值,以此来确定哪一个元素被布雷。 最后将得到的布雷数组元素1,转换成界面显示是雷的图片对应的数字9,数组元素值转换程序图如下图12所示。 图12数组元素值转换程序图 6.3 扫雷游戏响应事件的设计 6.3.1 时间和雷数提示功能设计 (1)时间提示功能:通过“获取日期/时间(秒)控件“获取时间显示,主要用于提示玩家游戏时间,评估游戏水平。 (2)雷数提示功能:通过调用当前游戏预设的雷数显示,主要提示玩家本次游戏需要扫雷的个数,从而把握游戏进度。 时间提示前面板设计如下图13所示。 图13 时间提示 时间提示后面板设计如下图14所示。 图14雷数提示 6.3.2 鼠标控制扫雷过程消息设计 (1)扫雷过程消息设计程序图 扫雷判断某点周围雷数多少的程序图如下图15所示。 图15判断周围雷数程序图 该段程序代码完成的具体功能如下:首先判断某点是否是雷,如果是雷则跳过该点,直接右键将雷标记。否则将要判断改点相邻的8个点,来确定周围的雷数。按照该方法依次对该数组每个点的相邻的8个点进行判断。 同样在判断某个点的相邻8个点是否是雷,如果是雷则调用一个图片覆盖这个区域,如果不是雷也调用另一个图片覆盖这个区域。这样就能一步步进行扫雷。 程序原理,通过从数组获取当前游戏点击的元素,然后判断该元素周围雷个数,以此来确定该元素被点击后将要显示的图片。 若当前点击元素坐标为(X,Y),那么需要判断的元素坐标有:(X-1,Y-1)、(X,Y-1)、(X+1,Y-1)、(X-1,Y)、(X+1,Y)、(X-1,Y+1)、(X,Y+1)、(X+1,Y+1) (2)鼠标右键响应事件 进入游戏开始界面,如判断该点是雷,此时需点击右键标注为地雷,此为事件响应。 (3)鼠标左键响应事件 进入游戏开始界面,如果遇到地雷就游戏结束,如果是空白那么就表示该点周围没有地雷,如果是1~8中的任意一个数那就表示该点周围就该数个雷。 6.4 扫雷游戏整体界面和程序优化 4.4.1 界面优化 初始设计界面毕竟不够美观和整洁,因此为了界面更加美观,将所有的控件标签等不相干提示隐藏起来,为了使界面更加整洁,将同类控件进行排序或者组控件一起。 4.4.2 程序优化 程序设计的关键是可读性,因此优化程序设计代码,减少不必要的函数调用,避免代码的沉余。方便以后修改与维护。 7 扫雷游戏软件功能测试和运行 7.1 打包成可执行软件 (1)第一步 启动LabVIEW创建一个项目,如下图16所示。 图16创建LabVIEW项目 (2)第二步 然后进入如下图17所示界面,保存命名为“扫雷“。 图17扫雷项目 (3)第三步 在我的程序中,添加扫雷项目包含的.VI文件,如下图18所示。 图18添加文件 添加完后如下图 19所示。 (4)第四步 在程序生成规范中,新建—>应用程序(EXE)。然后出现如下对话框: 图19应用程序属性 如图,在对话框中 类别框中选择源文件,然后从项目文件中将BUSCAMINAS GAME!!!.VI添加到启动VI中,将escojer niv.vi、Busc_About of....vi、COMPARACIONES.vi、CONTADOR、NIVELES1-2-3.vi、PERDER.vi等添加到始终包括中。最后点击生成。 最后出现如下图20所示。 图20包生成应用程序进度 (5)第五步 查看生成的应用程序,如下图21所示。 图21应用程序 7.2 逐步测试各项功能 7.2.1 测试初级、中级、高级三个选择按钮。 (1)运行打包后的应用程序,就能进入游戏难度选择界面。如下图22所示。 图22游戏难度选择界面 (2)选择“初级”按钮。如下图23所示。 图23择“初级” 点击后进入游戏界面。如下图24所示。 图24 6*6游戏界面 进行游戏,分别测试左键、右键,逐个点击雷区。测试结果如下图25所示。 图25 6*6游戏失败界面 由以上结果可知,游戏功能基本满足要求。 (3)选择“中级”按钮。如下图26所示。 图26选择“中级“ 点击后进入游戏界面。如下图27所示。 图27 8*8游戏界面 进行游戏,分别测试左键、右键,逐个点击雷区。测试结果如下图28所示。 图28 8*8游戏失败界面 由以上结果可知,游戏功能基本满足要求。 (4)选择“高级”按钮。如下图29所示。 图29选择“高级“ 点击后进入游戏界面。如下图30所示。 图30 12*12游戏界面 进行游戏,分别测试左键、右键,逐个点击雷区。测试结果如下图31所示。 图31 12*12游戏失败界面 由以上结果可知,游戏功能基本满足要求。 (5)选择“关于”按钮。如下图32所示。 图32选择“关于” 点击后进入关于内容显示界面。如下图33所示。 图33关于显示界面 能够正常显示 About of.vi对话框,说明功能达到要求。 7.2.2 游戏完成 当在规定的时间内将所有的雷都正确的标示出来,游戏就会有一个弹出框提示你在多长时间内完成当前戏。 还有一种情况便是当只剩下雷未探测的候,及雷区方块总数-已清除的方块数=地雷总数的话,游戏也将成功完成。 7.2.3 游戏失败 当鼠标左键按下的方块为地雷方块事,地雷将会被引爆,游戏立即结束。当在设定时间内未探测完所有的地雷,地雷也将会引爆,对于这第二种行为,我们可以通过Timer组件来加以控制。利用Timer组件在固定时间即会触发时间的特性,在事件触发时便将计数值加一,直到判断计数值超过限定值时,即地雷引爆。 结束语 随着答辩的日子临近,毕业设计也随着接近了尾声,经过三个月的奋战,毕业设计终于完成了。在老师的指导下和同学的帮助下,本人对此课题进行了思考和探究,这次的毕业设计比以前的课程设计,多了很多思考,也锻炼了我的学习能力和对相关知识的深刻认识,使我受益匪浅。毕业设计不仅是对前面所学的知识的一种检验,而且也是对自己相关能力的一种提高。通过毕业设计,使我明白了自己原有的知识比较欠缺,自己需要学习的东西还很多。以前老是觉得自己什么都懂了,有点眼高手低。通过这次毕业设计,验证了一个道理:学习是一个不断积累的过程。我以前所学的都只是基础的,通过这次毕业设计让我知道,在以后的工作和生活中都应该不断的学习,努力的充实自己的大脑。 这次毕业设计要求设计基于LabVIEW虚拟仪器平台的扫雷软件开发,自行开发对于我来说是非常困难的,但是在老师的帮助下和自己的不懈努力,一步一步进行前进,这对于我来说是一种很好的挑战,同时也是一种不错的考验,因此本次设计过程中按照设定的设计步骤要求来进行,从而一步步去设计操作流程,使自己达到学习的目的。 我从这次设计中发现了很多以前从没的问题,比如,vi属性设置,程序打包时源文件的包含关系,一些不常用的控件使用等等。。同时,我对页面背景、雷区按钮设计,1~8图片设计、雷、爆炸雷图片,标示地雷图片,时间显示、雷数显示,某些控件等得选择,也需要经过一定的筛选,进一步考虑才选定的。这样很多都是在我们平时的课本上找不到的,要经过查阅很多的资料,可是资料上也不一定齐全,还需要老师的参与和指导,最终才能查到,因为每一个选择量在应用中都有所不同,它是根据作用的不同选定的,具有针对性。同时,我也学会了快捷截图,一开始我们抓的并不好,看上去很乱,在经过老师的指导后,我进行了修剪,并且学会了处理废边,看上去整洁了许多。这些都使我在学习中不断的进步。 有一句老话说:万事开头难。的确如此,经过三个多月的努力终于完成毕业设计了,有种如释重负的感觉。此外,还得出结论:知识必须通过实际应用才能真正的掌握!有些东西以为学会了,但真正到要用的时候才发现是模棱两可,所以我认为只有真正的应用才算真正的学习,理论和实践是不能分开。 最后,我要谢谢指导教师对我的指导,同时也要谢谢帮助我的同学们。在整个设计中给了我很多帮助。我也通过查阅了大量的有关资料,与同学交流学习经验,同时也向老师悉心请教等方式,使自己学到了不少知识,但也经历了不少艰辛,当然收获是非常大的。在设计过程中我明白了许多东西,也培养了我独立工作的能力,树立了自己工作能力的信心,我相信会对以后的学习和工作有非常重要的影响。而且大大提高了动手能力,使我充分体会到了在创造过程中探索的艰辛和成功时的喜悦。虽然这个设计做的也不是很好,但是在设计的过程中所学到的东西是这次毕业设计最大的收获和财富,使我终身受益! 参考文献 [1]张爱平. LabVIEW入门与虚拟仪器[M].北京:电子工业出版社, 2004.25~34 Zhang Aiping LabVIEW entry and virtual instrument [M]. Beijing: Publishing House of electronics industry, 2004.25~34(in Chinese) [2]侯国屏,等. LabVIEW7. 1编程与虚拟仪器设计[M].北京:清华大学出社, 2005.2~10 Hou Guoping, et al. LabVIEW7. 1 programming and the design of virtual instrument [M]. Beijing: Tsinghua University press, 2005.2~10(in Chinese) [3]邓炎,王磊,等.测试技术与仪器应用[M].北京:机械工业出版社, 2004.56~59 Deng Yan, Wang Lei, et al. Testing technology and application [M]. Beijing: Mechanical Industry Press, 2004.56~59(in Chinese) [4]刘君华.基于LabVIEW的虚拟仪器设计[M].北京:电子工业出版社, 2003.78~100 Liu Junhua. Based on virtual instrument design of [M]. LabVIEW Beijing: Publishing House of electronics industry, 2003.78~100(in Chinese) [5]蒋焕文,孙续.电子测量[M] .北京:中国计量出版社,2003.45~76 Jiang Huanwen, sun continued. Electronic measurement [M]. Beijing: China Metrology Publishing House, 2003.45~76(in Chinese) [6]汪敏生.LabVIEW基础教程[M].北京:电子工业出版社, 2002.34~56 Wang Minsheng.LabVIEW tutorial [M. Beijing: Publishing House of electronics industry, 2002.34~56(in Chinese) [7]雷振山.LabVIEW7 Express实用技术教程[M] .北京:中国铁道出版社, 2004.67~78 Lei Zhenshan.LabVIEW7 Express practical tutorial [M]. Beijing: China Railway Publishing House, 2004.67~78(in Chinese) [8]戎舟.基于Labview的虚拟示波器及远程测控[J] .微计算机信息.2004.12~19 Rong Zhou. The Labview virtual oscilloscope and remote measurement and control based on [J]. Microcomputer information.2004.12~19(in Chinese) [9]杨乐平,李海涛,杨磊.Labview程序设计与应用( 第 2版) .北京:电子工业出 版社,2006.5~65 Yang Leping, Li Haitao, Yang Lei.Labview program design and application (Second Edition). Beijing: Publishing House of electronics industry, 2006.5~65(in Chinese) [10]蔡建安,陈洁华.基于LabVIEW 的工程软件应用[M].重庆大学出版社, 2006.6~89 Cai Jianan, Chen Jiehua LabVIEW engineering software application based on [M]. Chongqing University press, 2006.6~89(in Chinese) [11]马双宝.基于Labview7.0虚拟信号发生器的实现[J].微计算机信息, 2005.6~76 Ma Shuangbao. Implementation of [J]. micro computer virtual signal generator based on Labview7.0 information, 2005.6~76(in Chinese) [12]戴鹏飞,王胜开,王格芳等.测试工程与LabVIEW应用[M].北京:电子工业 出版社.2006.4~54 Dai Pengfei, Wang Shengkai, Wang Gefang et al. Test engineering and the application of LabVIEW [M]. Beijing: Electronic Industry Press,.2006.4~54(in Chinese) [13]徐洁.电子测量与仪器[M].北京:机械工业出版社,2002.5~7 Xu Jie. Electronic measurement and instrument [M]. Beijing: Mechanical Industry Press, 2002.5~7(in Chinese) [14]刘君华.基于LabWindows虚拟仪器设计[M].北京:电子工业出版 社,2003.2~34 Liu Junhua. Based on LabWindows virtual instrument design [M]. Beijing: Publishing House of electronics industry, 2003.2~34(in Chinese) [15]张重雄.虚拟议器技术分析与设计[M].北京:电子工业出版社,2007.6~90 Zhang Zhongxiong. Virtual instrument technology analysis and design [M]. Beijing: Publishing House of electronics industry, 2007.6~90(in Chinese) [16]陆琦荣.基于虚拟仪器技术个人实验室的构建[M].北京:电子工业出版 社,2006.2~89 Lu Qirong. The virtual instrument technology laboratory construction based on [M]. Beijing: Publishing House of electronics industry, 2006.2~89(in Chinese) [17]陈锡辉,张银鸿.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出 版社,2007.2~90 Chen Xihui, Zhang Yinhong.LabVIEW8.20 programming from entry to the master [M]. Beijing: Tsinghua University press, 2007.2~90(in Chinese) 致 谢 首先要感谢我的导师黄墩惠和董海兵老师。老师平日里虽然工作繁多,但在我做毕业设计的每个阶段都给予了我悉心的指导。本论文从选题到完成,每一步都是在导师的指导下完成的。在此,谨向导师表示崇高的敬意和衷心的感谢! 同样我要感谢在我大学四年的学习生涯中教过我的每一位老师,真是在你们的教导下,我才能打下基础从而顺利的完成了毕业论文。大学的四年是难忘的四年,在这里我不仅收获了知识,而且明白了很多在课本上学不到的东西,教授们的人格魅力影响着我,这将是我一生中巨大的财富。 我的同学们在这次毕业论文的完成中也起了至关重要的作用,一个人的力量是有限的,但一个团体的力量是无穷的,每当我遇到什么难题或者有些资料找不到时,总是可以在同学那里得到帮助和鼓励,可以说没有他们就没有这篇文章的顺利完成。四年的大学时光已经把我们从陌生人变成了亲如一家的兄弟,虽然我们即将踏入社会,但我们的心是永远在一起的,我们的友谊将地久天长! 最后要感谢培养我并把我送入大学的父母,正是你们的辛勤劳动才使我可以走入大学这个神圣的校园并从中汲取知识。 在我即将走出校园之际,我保证今后会用我的努力报答父母,报答母校,报答一切帮助我的人们。 附录一 后面板程序总图之一 附录二 后面板程序总图之二 附录三 后面板程序总图之三 PAGE
本文档为【基于LabVIEW虚拟仪器平台的扫雷软件开发毕业论文附录图用A3纸】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
北溟愚鱼
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:62
分类:工学
上传时间:2018-09-22
浏览量:44