ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:1.05MB ,
资源ID:8940749      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8940749.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于LabVIEW的拼图游戏设计.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于LabVIEW的拼图游戏设计.doc

1、 摘要 关键字 目录 1、绪论 1.1 G语言与虚拟仪器的概述 1.1.1 G语言的概述 虚拟仪器编程语言LabVIEW是一种图形化的程序语言,又称为“G”语言。LabVIEW是一个功能比较完善的软件开发环境,它是为替代常规的BASIC或C语言而设计的。作为编写应用程序的语言,除了编程方式不同之外,LabVIEW具有编程语言的所有特性。使用这种语言编程时,基本不用写代码,取而代之的是流程图。 G语言是一种适合于任何编程任务,具有扩展函数库的通用编程语言。G语言和传统高级编程语言的最大的差别在于编程方式上的不同,一般高级语言采用的方法为本编程,而G语言采用图形化

2、编程方式。G语言编写的程序称之为虚拟仪器VI(Virtual Instrument),因为它的界面和功能与真实仪器基本相似,在LabVIEW环境平台下开发的应用程序都会被冠以.VI的后缀,以表示虚拟仪器的含义。G语言定义了数据类型、结构类型和模块调用语法规则等编程语言的基本要素等,在功能的完整性和应用的灵活性上毫不不逊于任何高级语言,G语言同时还具有丰富的扩展函数库。这些扩展函数库主要面向数据采集、GPIB以及串行仪器控制、数据分析、数据显示与数据存储等途径。G语言还包括常用的程序调试工具,例如包括断步调试、允许设置断点、数据探针和动态显示执行程序流程等功能[1]。 1.1.2 虚拟仪器

3、的概述 虚拟仪器(Virtual Instrument)就是在以计算机为核心的硬件平台上,根据用户对仪器的设计定义,具有虚拟面板、用软件实现虚拟控制面板设计和测试功能的一种计算机仪器系统。使用者用鼠标点击虚拟面板,就可以操作这台计算机系统硬件平台。它是将现有的计算机技术、软件设计技术和高性能模块化硬件结合在一起而建立起来的功能强大而又灵活易变的仪器。 虚拟技术、计算机技术与网络技术是信息技术最重要的组成部分,它们被称为21世纪科学技术中的三大核心技术。电子测量仪器发展至今,大体经历了模拟仪器、分立元件式仪器、数字化仪器和智能仪器。目前,微电子技术和计算机技术的飞速发展,测试技术与计

4、算机层次的结合使得虚拟仪器应运而生。虚拟仪器的出现导致了传统仪器的结构、概念和设计观点都发生了巨大变革,使得人类的测试技术进入了一个新的发展纪元。在过去的20年中,个人电脑应用的迅速普及促进了测试测量和自动化仪器系统的革新,其中最显著的就是虚拟仪器的出现与发展。虚拟仪器为工程师和科学家们提高生产效率、测量精度以及系统性能方面做出了卓越的贡献。 虚拟仪器的概念是由美国国家仪器公司提出来的,虚拟仪器本质是虚拟现实一个方面的应用结果。也就是说虚拟仪器是一种功能意义上的仪器,它充分利用计算机系统强大的数据处理能力,在基本硬件的支持下,利用软件完成数据的采集、控制、数据分析和处理以及测试结果的显示等,

5、通过软、硬件的配合来实现传统仪器的各种功能,大大突破了传统仪器在数据处理、显示、传送、存储等方面的限制,使用户可以方便地对仪器进行维护、扩展和升级。(2-1) 虚拟仪器的主要特点有: 1、在通用硬件平台确定后,又软件取代传统仪器中的硬件来完成仪器的功能; 2、仪器的功能是用户根据需要又软件来定义的,而不是事先由厂家定义好的; 3、仪器性能的改进和功能扩展只需进行相关软件的设计更新,而不需要购买新的仪器; 4、研究周期较传统仪器大为改进; 5、虚拟仪器开放、灵活,可与计算机同步发展,可与网络以及其他周边设备互联。(3-2) 虚拟仪器实际上是一种按照仪器需求组织的

6、数据采集系统,其研究中涉及的基础理论主要是数据采集和数字信号处理。(7-1)决定虚拟仪器具有上述传统仪器不可能具备的特点的根本原因在于:“虚拟仪器的关键是软件”。 1.1.3 虚拟仪器的构成以及分类 1、 虚拟仪器的构成 虚拟仪器是由通用仪器硬件平台(简称硬件平台)和应用软件两大部分组成。 (1)硬件是虚拟仪器工作的基础,主要完成被测输入信息的采集、放大、传输、存储处理和输入/输出等工作,由计算机硬件平台和测控功能硬件(I/O接口设备)组成(4-2)。 1)计算机,它是硬件平台的核心。 2)I/O接口设备,它主要完成待测输入信号的采集、放大和模/数转换等。

7、 根据I/O接口设备的不同,虚拟仪器主要分为PC-DAQ、GPIB仪器、串口仪器、VXI模块、PXI模块五个模块。其虚拟仪器构成图如图1-1所示。 PC-DAQ:它是以数据采集板、信号调理电路及计算机为硬件平台组成的插卡式虚拟仪器系统。这种系统采用PCI或ISA计算机本身的总线,只需要将数据采集卡\板(DAQ)插入计算机机箱内的空槽中即可使用。 GPIB仪器:它是以GPIB标准总线仪器与计算机为硬件平台组成的仪器测试系统。 串口仪器:它是以Serial 标准总线仪器与激素那几硬件平台组成的仪器测试系统。 VXI模块:它是以VXI标准总线仪器模块与计算机为硬件平台组成的仪器测试

8、系统。 PXI模块:它是以PXI标准总线仪器模块与计算机为硬件平台组成的仪器测试系统。 (2)虚拟仪器的应用软件由应用程序和I/O接口设备驱动程序。这些软件开发工具为用户设计虚拟仪器应用软件提供了良好开发环境。 1)应用程序。它包含两个方面的程序:实现虚拟面板功能的前面板软件程序和定义测试功能的流程图软件程序。 2)I/O接口仪器驱动程序。这类程序用来完成特定外部硬件设备的扩展、驱动与通信。开发虚拟仪器,必须有合适的软件工具。目前已有多种虚拟仪器的软件开发工具。包括文本式编程语言:如C、VisualC++、Visual Basic 、Labwindows/C

9、VI等和图形化编程语言:如Labview 、HPVEE等。这些软件开发工具为用户设计虚拟仪器应用软件提供了最大限度的方便条件与良好的开发环境。(3-3) 2、虚拟仪器的分类 虚拟仪器有多种分类方法,既可以按照应用领域分,也可以按照测量功能分,但是最常用的还是按照构成虚拟仪器接口总线的不同,分为基于数据采集(DAQ)卡的虚拟仪器、基于GPIB总线的虚拟仪器、基于VXI总线的虚拟仪器、基于RS-232C总线的虚拟仪器、基于PXI总线的虚拟仪器、基于LXI总线的虚拟仪器、基于USB总线的虚拟仪器和基于IEEE-1394总线的虚拟仪器。 1.1.4 虚拟仪器的优点与应用

10、 1、虚拟仪器的优点可归纳为: (1)软件是核心。根据系统设计的要求,在选定系统控制用计算机以及一些标准的一起硬件模块或者板卡后,软件部分就成为构建和使用虚拟仪器的关键所在。其中,仪器驱动程序的功能是实现与仪器硬件的接口和通信,应用软件则完成用户定义的测试和仪器的功能,并提供人机交互界面。在进行应用程序开发时,可以利用NI公司开发的LABVIEW与LABWINDOWS/CVI,HP公司的VEE等集成开发环境。可以看出,软件在虚拟仪器的技术中占有十分重要的作用,NI公司提出的“软件即仪器”(Software is Instrument)就是这一特点的形象概括、 (2)灵活性和可扩展

11、性。虚拟仪器打破了传统仪器由厂商定义功能和控制面板,用户无法更改模式。一起用户可根据自己不断变化的需求,自由发挥自己的想象力,,方便灵活的重组测量系统,系统的扩展,升级可随时进行,而且系统的更新的周期短,见效快,能充分的满足用户在不同的场合的应用需求。 (3)性价比高。虚拟仪器可以将在传统一起中一些由硬件完成的功能转为软件实现,减少了自动测试系统的硬件环节,降低了系统的开发成本和维护成本。虚拟仪器能够同时对多个参数进行实时高效的测量,信号传输大部分采用数字信号的形式,数字信号处理主要依赖软件来实现,大大降低了环境干扰和系统误差的影响。用户可以随时根据需求调整虚拟仪器的功能实现“一机多型

12、和“一机多用”。因此,是用虚拟仪器比传统仪器更加经济。 (4)人机界面友好。虚拟仪器的操控界面采用的是图形化编程技术实现的一种虚拟面板或者称为软面板。虚拟面板可以模拟传统仪器面板的世纪风格来设计,也可以由用户根据实际需求来进行定制设计。测量结果可以通过计算机屏幕以曲线,图形,数据或者表格等形式显示出来。 (5)与其他设备互联功能强大。虚拟仪器通常具备标准化的总线或者通信接口,具有和其他设备互联的功能。例如,虚拟仪器能够通过以太网与Internet相连,或者通过现场总线完成对现场设备的监控和管理等。这种互联能力使得虚拟设备系统功能显著增强,应用领域明显扩大。 虚拟仪器是

13、对传统仪器概念的重大突破,虚拟仪器与传统仪器的最重要区别之一是:虚拟仪器的功能由用户自己定义,而传统仪器的功能完全由厂商事先定义好的。相关比较如表1-1所示。 仪器 虚拟仪器 传统仪器 关键技术 关键是软件 关键是硬件 费用 卡法与维护的费用低 开发与维护的费用高 技术更新周期 短(1-2年) 长(5-10年) 价格 低,可重用与可配置性强 高 功能定义 用户定义仪器功能 厂商定义仪器功能 开放性 系统开放,灵活,可与计算机技术保持同步发展 系统封闭,固定 连接性 与网络及其他周边设备方便互联的面向应用的仪器系统 功能单一,互联的有限功能的

14、独立设备 2、虚拟仪器的应用 虚拟仪器的出现代表着从传统硬件为主的测量系统到以软件为中心的测量系统的根本性转变。新的以软件为中心的虚拟仪器系统为用户提供了创新技术并大幅降低了生产成本。 相比较于示波器等传统的仪器,虚拟仪器的灵活性、低价位以及插入化和网络化硬件等技术的革新,使得它的应用前景更加广阔。 虚拟仪器技术作为现代仪器技术与计算机技术相结合的创新技术,已被广泛应用于电子、机械、通信、汽车制造、生物、医药、化工、科研、军事和教育等各个领域。尤其在工程应用和社会经济效益方面具有突出优势。 1、应用于测试与测量 ,它已经成为测试与测量领域的工业标准。 2、应用

15、于过程控制盒工业自动化,得益于其强大的硬件驱动、图形显示能力和便捷的快速程序设计,使得它为过程控制和工业自动化应用提供了优秀的解决方案。 3、应用于实验室研究与自动化,它为科学家和工程师提供了功能强大的高级数学分析库,可满足他们计算分析的需要。 1.1.5 虚拟仪器的发展和现状 1、虚拟仪器的发展 追溯电子测量仪器的发展历史,大体经历了以下的发展历程: 第一代模拟仪器。 这类仪器在某些实验室里还能看到, 他是以电磁感应基本定律为基础的指针式仪器, 如指针式万用表、指针式电压表、 指针式电流表等。 第二代分立元件式仪器。 当20世纪50年代出现电子

16、管、60年代出现晶体管时,便产生了以电子管火晶体管电子电路为基础的第二代测试仪器——分立元件式仪器。 第三代数字化仪器:。20世纪70年代,随着集成电路的出现,诞生了已集成电路芯片为基础的第三代仪器——数字式仪器。这类仪器相当普及,如数字万用表、数字频率计等。 第四代智能仪器。随着微电子技术的发展和微处理器的普及, 以微处理器为核心的第四代仪器 —— 智能式仪表迅速普及。 这类仪器内置微处理器, 可以进行自动测试和数据处理功能, 习惯上称为智能仪器。 其缺点是他的功能都是以硬件的形式存在, 无论是开发还是应用, 都缺乏灵活性。 虚拟仪器。 目前, 电子测量

17、仪器领域出现了一种全新的仪器 —— 虚拟仪器。 虚拟仪器与智能仪器有点类似, 它是将仪器装入计算机, 以通用的计算机硬件以及操作系统为依托, 来实现各种仪器功能。 采用虚拟仪器技术构建的测试仪器, 具有开发效率高、 可维护性强、 测试精度高、 稳定性和可靠性好等优点, 因此具有较高的性能价格比, 便于节省投资、 设备更新和功能转换与扩充[1-3]。 2、 虚拟仪器的现状 近年来,世界各国的虚拟仪器公司开发了不少虚拟仪器开发平台软件,以便使用者利用这些仪器公司提供的开发平台软件组建自己的虚拟仪器或测试系统,并编制测试软件。最早和最具影响的开发软件,是 NI公司的 Lab VI

18、EW软件和 LABWINDOWS/CVI开发软件。Lab VIEW采用图形化编程方案,是非常实用的开发软件。Lab Windows/CVI是为熟悉C语言的开发人员准备的、在Windows环境下的标准ANSIC开发环境。除了上述的优秀开发软件之外,美国HP公司的HP-VEE和HPTIG平台软件,美国TEKTRONS公司的Ez-Test和TEK-TNS软件,以及美国HEM Data公司的Snap-MARTER平台软件,也是国际上公认的优秀虚拟仪器开发平台软件 虚拟仪器的突出成就不仅是可以利用PC机组建成为灵活的虚拟仪器,更重要的是它可以通过各种不同的接口总线,组建不同规模的自测试系统。虚

19、拟仪器系统的基本构架包括功能强大的软件、模块化的测量硬件及标准商业科技(如个人计算机和网际网络)。虚拟仪器技术包含了专为控制应用设计的软件及针对不同频率与精确度范围的通用测量硬件,因此,工程师可以在测试或控制应用中自行定义测量功能。 1.2 LabVIEW的简介 LabVIEW(laboratory virtual instrument engineering workbench) 是一种用图表代替文本创建应用程序的图形化编程语言,它是由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。它广泛地被工业界、学术界和研究实验室所接受,

20、被公认为是标准的数据采集和仪器控制软件。 LabVIEW大大简化了虚拟仪器系统的开发过程,缩短了系统的开发和测试周期。它作为一种图形化编程语言,是真正面向科学家和工程师的编程语言,被誉为“科学家与工程师”的语言。 以LabVIEW为代表的图形化程序语言又称“G”语言。使用这种语言编程时,基本不需要编写程序代码,而是”绘制”程序流程图。LabVIEW尽可能利用工程技术人员所熟悉的术语、图标和概念,因而它是一种面向最终用户的开发工具,可以增强工程人员构建自己的科学和工程系统的能力,可为实现仪器编程和数据采集系统提供便捷途径。 LabVIEW为虚拟仪器者提供了一个便捷、轻松的设计环

21、境,利用它,设计者可以像搭积木一样,轻松组建一个测量系统和构建自己的仪器面板,而无需进行任何繁琐的计算机代码的编写。 LabVIEW是虚拟仪器必不可少的一部分,因为它为用户提供了一个简单易用的程序开发环境,特别考虑了工程师和科学家的需要而专门设计。它主要有以下特点: 1)、图形化编程软件,设计者无需写任何文本格式的代码,是真正的工程师的语言; 2)、提供了丰富的数据采集、分析及存储的函数库; 3)、即提供了传统的程序调试手段,如设置断点、单步运行,同时提供有独到的高度执行工具,使程序动画式运行,利于设计者观察程序运行的细节,使程序的调试和开发更为便捷。采用传统的调试手段与新颖的高亮显示

22、更有利于编程人员进行测试; 4)、32bit的编译器编译生成32bit的编译程序,保证数据采集、测试和测量方案的高速执行; 5)、囊括了DAQ、GPIB、PXI、RS-232/485在内的各种仪器通信总线标准的所有功能函数,使得了那些不懂总线标准的用户也能够驱动不同的总线标准接口设备与仪器; 6)、提供大量与外部代码或软件进行连接的机制,诸如DLLs(动态链接库)、DDE(共享库)、ActiveX等; 7)、强大的Internet功能,支持常用网络协议,方便网络、远程测控仪器的开发。 3-4 正因为LabVIEW这些强大的优势,使得它广泛应用于工程处理的每一个阶段,从研发

23、设计到测试,再到生产无处不见LabVIEW的应用。 1.3 关于本次设计 本次设计旨在利用LabVIEW开发工具,实现拼图游戏设计和仿真。要求最终实现模拟一个拼图游戏的过程,其一次正常游戏过程为:初始化游戏—>改变小图片位置—>评估小图片位置,当小图片处于正确的位置时输出提示语对话框。 2、拼图简介 2.1 拼图游戏的简介 拼图游戏是对一种益智类游戏的通称,是通过对乱序的小图片不断地位置变换来完成图片拼接的一种游戏。它是广受欢迎的一种智力游戏,它的变化多端,难度不一,让人百玩不厌。每一个拼图的单片都有确定的位置,放对了就慢慢丰富起来,放错了就无法完整。 2.2 labvi

24、ew实现拼图游戏的基本思路 本次设计是基于LabVIEW来对拼图游戏进行模拟仿真,利用LabVIEW中的常用编程控件,来完成对拼图游戏的基础功能的实现。然后通过等级差别来实现难度的跨越,最后利用调用子程序来实现游戏的完整,实现本次拼图游戏的设计。因此本程序能实现拼图游戏的基础功能,并且增加不同难度等级以丰富游戏。 2.3 labview实现拼图游戏的框架 本次基于LabVIEW的拼图游戏的设计的主要功能就是,在拼图游戏启动后,显示出游戏的主界面,如图所示,也就是我们拼图游戏最后要完成的效果界面。在界面框中,放置了将要实现的功能。 在主界面中,设置了初级、中级、

25、高级三个拼图游戏的等级,除了这三个等级外还有帮助选项。操作者可以根据个人需求选择不同的操作,这四个功能构成了本次设计的主要功能,并分别采用布尔按钮来操作。 初级。点击该按钮后,程序将立即显示初级游戏界面,该界面是由九副错乱的图片排列成的三乘三游戏界面,用户可以通过操作鼠标点击图片来不断移动图片,从而完成游戏。 中级。点击该按钮后,程序将立即显示初级游戏界面,该界面是由十六副错乱的图片排列成的四乘四游戏界面,用户可以通过操作鼠标点击图片来不断移动图片至空白图片处,从而完成游戏。 高级。点击该按钮后,程序将立即显示初级游戏界面,该界面是由二十五副错乱的图片排列成的

26、五乘五戏界面,用户可以通过操作鼠标点击图片来不断移动图片,从而完成游戏。 帮助。点击该按钮后,程序将立即显示帮助界面,该界面是由图形控件组成,并配以对拼图游戏玩法的文字简介,操作者可以根据简介清楚掌握游戏玩法。点击退出跳转到游戏主界面。 最后,经过编程设计出初级、中级、高级和帮助四个程序VI,将它们利用子VI技术组合在一起,并对其界面排版进行设计。 2.4 拼图游戏的设计原理 本次拼图游戏设计主要是基于LabVIEW 2013虚拟平台,使用图形语言编程。设计原理是:拼图游戏主界面在初始化后,程序要对按下的按钮进行检测和分析,判断出按下的按钮;然后显示为相应功能的界面,等待操作者

27、选择需要执行的动作,以此来实现在每个功能中不同的操作。 如选择初级,则游戏进入初级界面,在接受初始化信号之后,通过获取图片VI调用文件中的图片,再利用随机数组VI将九块小图片的位置打乱,区别于正确的位置。初始化之后通过不断地位置变化来寻找正确的位置,while循环语句完成的就是这一功能,每挪动一次位置之后,while循环语句确定该小图片是否在正确的位置上,直到所有九块图片都处于正确的位置时,进入条件结构的工作。所有的图片都处于正确的位置之后输出祝贺的提示语,并弹出对话框,选择再来一局或直接退出。选择中级、高级也会相应显示出对应操作。选择帮助,则游戏进入帮助VI,通过图形控件显示出游戏说明,帮

28、助初玩者快速了解游戏。 拼图游戏设计主要分为初级模块,中级模块,高级模块,帮助模块。其中初级模块、中级模块和高级模块这三个模块都由获取图片,随机数组,拼图三个基本模块构成。帮助模块,由图形控件组成。 最后,经过子VI的设计和程序调用,初级模块、中级模块、高级模块和帮助模块,将他们组合在一起。 本设计主要包括四个部分:获取图片,随机数组,拼图和帮助模块,下面就分别着重介绍四个模块的功能。 2.5 拼图游戏设计的主要模块 2.4.1 获取图片模块 获取图片模块的主要功能是从文件中读取出图片。点击运行后,根据名称或相对路径,调用读取图片子VI,

29、根据JPEG文件路径,调用出图片,再调用绘制平化像素图子VI,修改图像数据,使得符合显示要求。 2.4.2 随机数组模块 随机数组模块的主要功能是把按正确顺序排列的图片数组打乱,以区别于正常顺序的图片数组,使得拼图游戏得以初始化。该模块由两个同等大小的数组组成,一个显示图片的输入,一个显示随机排列后图片的输出。 点击程序运行按钮,程序即可开始运行,先是图片数组的输入,再经过对数组维数的重新排列,使得数组变为一维数组,并且查找出空白图片的位置,再根据数组维数,经过运算得出空白数组的坐标,以此来作为图片元素移动的标准,即只有位置在空白图片上下左右的图片元素才可以移动位置。

30、随后通过while循环和条件结构,来确定如何具体的实现图片的随进排列。最后经过数组替换,使得随机排列后的数组显示在界面上,至此随机数组排列的功能得以实现。 2.4.3 拼图模块 拼图模块的主要功能是实现操作者对拼图游戏的操作性,点击程序运行按钮后,前面板会出现拼图界面,按初级中级高级的不同,界面显示也不同。初级显示的是一个三维数组组成的三乘三的拼图界面,中级显示的是一个由四维数组组成的四乘四的拼图界面,高级显示的一个由五维数组组成的五乘五的拼图界面。以初级为例,程序运行后,显示出一个由三维数组组成的界面,其中三维数组里的元素由八副随机打乱的图片素材和一张空白图片素材组成。操作者点击

31、空白图片上下左右的图片素材,即可移动图片至空白图片处,可连续操作,直至拼图游戏完成。在三维素组界面左下方有个停止按钮,如果拼图游戏尚未拼成功,点击停止即返回游戏主页界面;如果拼图游戏完成,则显示出祝贺语和确定选项,点击即返回游戏主页界面。中级和高级运行和初级基本相似。至此拼图模块功能实现。 2.4.4 帮助模块 帮助模块的主要功能是帮助操作者清楚掌握游戏玩法。这个模块主要应用的是图形控件来展示。点击程序运行按钮后,程序将调用图形控件至前面板,以此来显示出帮助内容。 图形控件是LabVIEW为方便用户操作而提供的一种自定义控件,用户可以随心所欲地画出自己想要的图形,通过自定义窗口就可

32、以随意导入图片并且按需求调整图片大小和设置控件外观。在这个模块,利用图形控件的自定义性,导入预先用图片处理器处理过的配有帮助字符的图片,再调整大小和外观,使得用户可以在运行程序后看到帮助。(132) 3、 拼图游戏的具体实现 3.1 获取图片功能的具体实现 图片获取功能是整个拼图游戏的基础模块,它主要实现对拼图游戏的图片进行自动从文件导入的功能。 3.2 随机数组的具体实现 随机数组是整个拼图游戏的核心基础模块,它主要实现对拼图游戏的初始化工作。 原始数组是按照图片的正确顺序依次排列,为了游戏的更好进行随机数组就需要把原始数组打乱排列成为新的数组,以增

33、加游戏难度。随机数组的实现主要是一个while结构、一个for结构和一个条件结构组合实现。因为初级中级高级随机数组模块的实现过程基本类似,所以统一以初级为例进行说明;稍有差异之处,会在最后另加说明。 初级模块随机数组的实现主要分为以下过程: 1、原始按照图片正确顺序排列的数组作为数组输入进入到while循环中,如下图所示,利用重排数组维数和搜索一维数组控件来实现对空白图片位置坐标的定位,即空白图片在图片数组中的行列数得以确定,随后图片的随机排列将以空白图片为核心展开。While循环在本模块的作用是多次重复打乱图片排放顺序直至循环结束。

34、 2、确定了空白图片的行列值后,利用簇合并行列值为一个整体值,即以坐标的形式展示。空白数组的坐标与(1,0)和(0,1)分别进行相加相减运算,这是确定将要打乱的图片是空白图片元素上下左右位置的图片。运算的结果分别作为独立的值进入for循环中,设定for循环的次数为三次。再用随机数和常数的乘法运算得到一个长整型的数值,这个数值和数组维数3进行相除运算,再和循环次数做简单的加法运算,最后和维数3相除,得到的余数作为进入条件结构的判断条件。在该部分进行的数值运算都是基于产生随机的数字并保证次数的延续性和数值的不重复性。 3、

35、根据余数的不同,进入条件结构中的运算也不同。因为被除数是3,所以得到的余数只有三种可能0,1,2,因此设定条件结构的分支为三条。如果余数是0,则进入第一条分支,先判断上一步骤中空白图片和(1,0)(0,1)运算的结果是否在(0,0)和(3,3)内,即判断是否超出数组的范围。若没有超出则强制转换空白图片坐标减去(1,0)处即空白图片正上方的图片元素的行列坐标;同理余数是1时,制转换空白图片坐标加上(0,1)处即空白图片正右方的图片元素的行列坐标;余数是2时,制转换空白图片坐标减去(0,1)处即空白图片正左方的图片元素的行列坐标。这一过程主要完成要打乱的图片处于什么样的位置的功能。

36、 4、找到要打乱的图片所在的位置后,利用索引数组找到元素所在位置的图片,利用替换数组进行行列的替换从而得以实现图片的位置打乱功能。重复此操作直至跳出while循环,将打乱图片位置后的数组输出即完成对数组的随机排列。 以上就是初级拼图游戏的随机数组模块的功能实现。中级和高级只是数组维数和条件分支处有细微差异。如图所示,其余实现原理以及过程均相同。 3.3 拼图的具体实现 拼图模块是整个游戏的核心模块,它主要实现的是操作者对整个游戏

37、的操控。因为初级中级高级拼图模块的实现过程基本类似,所以统一以初级为例进行说明;稍有差异之处,会在最后另加说明。 初级拼图面板界面如图所示,它由三维数组组成,八福随机排列的图片和一副空白图片作为数组元素添加在数组里面。点击空白图片上下左右的图片元素即可实现图片的移动。具体实现分为以下过程。 1、原始数组创建以及图片元素显示 要实现图片元素的显示,需要调用获取图片子VI。根据图片路径结合获取图片子 VI实现对文件中八副图片的调用,并把这八副图片和一副空白图片作为数组元素创建出一个数组,并

38、且确定数组所在的坐标为(0,0)。随后用重排数组控件调整数组为三维数组,并把该数组设定为原始数组。再调用初级随机数组子VI,并把经过随机排列后的原始数组设定为数组。 2、 拼图操作 实现拼图操作的主要程序是一个while循环、一个事件结构和一个条件结构。如图所示 (1)while循环实现的是对拼图操作的一个控制,程序正常运行则进入事件结构,程序需要停止就终止程序运行。 (2)事件结构显示的是对不同的操作程序的运行情况。主要分为三个事件:对数组元素的鼠标操作、超时和游戏停止。 A、 对数组元素的鼠标操作,程序如图所示

39、 把鼠标按下位置的坐标创建为属性节点,它和坐标(4,4)的差值除以每个数组元素边框值(170,99),所得到的商和余数取长整型后的数值即为数组元素中鼠标按下操作所对应的图片在数组中的行列数,如(1,2)代表第一行第二列的图片元素。把经过随机排列的数组转换为一维数组,并找出空白图片在一维数组中的位置,除以数组维数3,即可得到空白图片在数组中的行列数。把鼠标按下位置图片元素的行列数和空白图片的行列数做差值,结果取绝对值并相加再和1进行等值运算,随后进入条件结构。等值运算是为了判断鼠标所在位置的图片即所要移动的图片与空白图片的位置关系,确保每次移动的图片都必须满足与空白图片的坐标差值

40、为1,即位于空白图片上下左右的位置的图片才可以移动。 如果等值运算的结果相同,表明此时鼠标点击处的图片可以移动。此时进入真值条件框中,用数组替换子集控件来完成鼠标按下处图片元素与空白图片的坐标互换,即位置互换。若等值运算结果不同,表明此时不可移动鼠标点击处图片,此时进入假值条件框中,操作为空操作,即图片移动无效。至此完成一次拼图操作。 B、超时操作 该操作是判断拼图游戏是否完成。用等于?控件来判断原始数组和数组是否所有图片元素都对应相同,先把两个数组都重新排列成一维数组,再依次对应两个一维数组中图片元素是否都对应

41、相同。若都相同则表示拼图成功,进入真值条件框,此时显示对话框信息即恭喜操作者完成游戏;若不是都相同则表示没能完成拼图,进入假值条件框中,此时操作为空操作,操作者需继续重复拼图操作。 C、停止操作 该操作是实现操作者完成游戏或者终止游戏时的停止功能。当操作者完成游戏时输出恭喜语句并提示停止,点击停止即返回到拼图主页面;当操作者终止游戏时,点击停止按钮,则程序返回到主页面。 3、 返回主页面 按照游戏常规设置,点击停止按钮后游戏即返回主页。返回主页具体实现如图所示:

42、 这里主要是用子VI来实现。具体子VI的实现过程将在随后的3.5子VI的具体实现中进行详细说明。 以上就是初级拼图游戏的拼图模块功能实现。中级和高级只是在原始数组创建、面板框、数组维数和数组元素边框值处有细微差异。如图所示,其余实现原理以及过程均相同。 3.4 帮助的具体实现 帮助功能面板图所示: 点击程序运行,面板即显示出帮助功能;点击退出,则该面板跳转到游戏主页面板。 帮助功能具体实现如下图所示: 首先,创立图形控件。从网上找到合适的图片,用照片处理器进行修改加工并在图片上添加对

43、游戏操作的说明性文字。利用LabVIEW里图形控件的高级自定义功能,实现对控件外观的随意修改。选择从文件导入选项导入处理好的图片,调整好图像边框和滚动条的位置使得其适应导入图片的大小。再在文件菜单中选择保存改动选项,则就将改动的结果应用到源程序中,这样图像控件就创建完成。 接下来,用while循环语句来对该模块的停止操作进行控制。用布尔控件连接到while循环的停止按钮上,并加以定时控件,来实现该操作的停止功能。 最后,按照游戏常规设置,点击停止按钮后游戏即返回主页。返回主页具体实现如图所示: 这里主要是用子VI来实现。具体子VI的实现过程将在随后的3.5子VI的具体实现中进行详细说明。 第 15 页

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服