已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要關(guān)鍵字目錄1、緒論 1.1 G語言與虛擬儀器的概述 1.1.1 G語言的概述 虛擬儀器編程語言LabVIEW是一種圖形化的程序語言,又稱為“G”語言。LabVIEW是一個功能比較完善的軟件開發(fā)環(huán)境,它是為替代常規(guī)的BASIC或C語言而設(shè)計的。作為編寫應(yīng)用程序的語言,除了編程方式不同之外,LabVIEW具有編程語言的所有特性。使用這種語言編程時,基本不用寫代碼,取而代之的是流程圖。G語言是一種適合于任何編程任務(wù),具有擴展函數(shù)庫的通用編程語言。G語言和傳統(tǒng)高級編程語言的最大的差別在于編程方式上的不同,一般高級語言采用的方法為本編程,而G語言采用圖形化編程方式。G語言編寫的程序稱之為虛擬儀器VI(Virtual Instrument),因為它的界面和功能與真實儀器基本相似,在LabVIEW環(huán)境平臺下開發(fā)的應(yīng)用程序都會被冠以.VI的后綴,以表示虛擬儀器的含義。G語言定義了數(shù)據(jù)類型、結(jié)構(gòu)類型和模塊調(diào)用語法規(guī)則等編程語言的基本要素等,在功能的完整性和應(yīng)用的靈活性上毫不不遜于任何高級語言,G語言同時還具有豐富的擴展函數(shù)庫。這些擴展函數(shù)庫主要面向數(shù)據(jù)采集、GPIB以及串行儀器控制、數(shù)據(jù)分析、數(shù)據(jù)顯示與數(shù)據(jù)存儲等途徑。G語言還包括常用的程序調(diào)試工具,例如包括斷步調(diào)試、允許設(shè)置斷點、數(shù)據(jù)探針和動態(tài)顯示執(zhí)行程序流程等功能1。1.1.2 虛擬儀器的概述 虛擬儀器(Virtual Instrument)就是在以計算機為核心的硬件平臺上,根據(jù)用戶對儀器的設(shè)計定義,具有虛擬面板、用軟件實現(xiàn)虛擬控制面板設(shè)計和測試功能的一種計算機儀器系統(tǒng)。使用者用鼠標點擊虛擬面板,就可以操作這臺計算機系統(tǒng)硬件平臺。它是將現(xiàn)有的計算機技術(shù)、軟件設(shè)計技術(shù)和高性能模塊化硬件結(jié)合在一起而建立起來的功能強大而又靈活易變的儀器。虛擬技術(shù)、計算機技術(shù)與網(wǎng)絡(luò)技術(shù)是信息技術(shù)最重要的組成部分,它們被稱為21世紀科學(xué)技術(shù)中的三大核心技術(shù)。電子測量儀器發(fā)展至今,大體經(jīng)歷了模擬儀器、分立元件式儀器、數(shù)字化儀器和智能儀器。目前,微電子技術(shù)和計算機技術(shù)的飛速發(fā)展,測試技術(shù)與計算機層次的結(jié)合使得虛擬儀器應(yīng)運而生。虛擬儀器的出現(xiàn)導(dǎo)致了傳統(tǒng)儀器的結(jié)構(gòu)、概念和設(shè)計觀點都發(fā)生了巨大變革,使得人類的測試技術(shù)進入了一個新的發(fā)展紀元。在過去的20年中,個人電腦應(yīng)用的迅速普及促進了測試測量和自動化儀器系統(tǒng)的革新,其中最顯著的就是虛擬儀器的出現(xiàn)與發(fā)展。虛擬儀器為工程師和科學(xué)家們提高生產(chǎn)效率、測量精度以及系統(tǒng)性能方面做出了卓越的貢獻。虛擬儀器的概念是由美國國家儀器公司提出來的,虛擬儀器本質(zhì)是虛擬現(xiàn)實一個方面的應(yīng)用結(jié)果。也就是說虛擬儀器是一種功能意義上的儀器,它充分利用計算機系統(tǒng)強大的數(shù)據(jù)處理能力,在基本硬件的支持下,利用軟件完成數(shù)據(jù)的采集、控制、數(shù)據(jù)分析和處理以及測試結(jié)果的顯示等,通過軟、硬件的配合來實現(xiàn)傳統(tǒng)儀器的各種功能,大大突破了傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳送、存儲等方面的限制,使用戶可以方便地對儀器進行維護、擴展和升級。(2-1) 虛擬儀器的主要特點有: 1、在通用硬件平臺確定后,又軟件取代傳統(tǒng)儀器中的硬件來完成儀器的功能;2、儀器的功能是用戶根據(jù)需要又軟件來定義的,而不是事先由廠家定義好的;3、儀器性能的改進和功能擴展只需進行相關(guān)軟件的設(shè)計更新,而不需要購買新的儀器;4、研究周期較傳統(tǒng)儀器大為改進;5、虛擬儀器開放、靈活,可與計算機同步發(fā)展,可與網(wǎng)絡(luò)以及其他周邊設(shè)備互聯(lián)。(3-2) 虛擬儀器實際上是一種按照儀器需求組織的數(shù)據(jù)采集系統(tǒng),其研究中涉及的基礎(chǔ)理論主要是數(shù)據(jù)采集和數(shù)字信號處理。(7-1)決定虛擬儀器具有上述傳統(tǒng)儀器不可能具備的特點的根本原因在于:“虛擬儀器的關(guān)鍵是軟件”。1.1.3 虛擬儀器的構(gòu)成以及分類1、 虛擬儀器的構(gòu)成 虛擬儀器是由通用儀器硬件平臺(簡稱硬件平臺)和應(yīng)用軟件兩大部分組成。 (1)硬件是虛擬儀器工作的基礎(chǔ),主要完成被測輸入信息的采集、放大、傳輸、存儲處理和輸入/輸出等工作,由計算機硬件平臺和測控功能硬件(I/O接口設(shè)備)組成(4-2)。1)計算機,它是硬件平臺的核心。2)I/O接口設(shè)備,它主要完成待測輸入信號的采集、放大和模/數(shù)轉(zhuǎn)換等。 根據(jù)I/O接口設(shè)備的不同,虛擬儀器主要分為PC-DAQ、GPIB儀器、串口儀器、VXI模塊、PXI模塊五個模塊。其虛擬儀器構(gòu)成圖如圖1-1所示。 PC-DAQ:它是以數(shù)據(jù)采集板、信號調(diào)理電路及計算機為硬件平臺組成的插卡式虛擬儀器系統(tǒng)。這種系統(tǒng)采用PCI或ISA計算機本身的總線,只需要將數(shù)據(jù)采集卡板(DAQ)插入計算機機箱內(nèi)的空槽中即可使用。GPIB儀器:它是以GPIB標準總線儀器與計算機為硬件平臺組成的儀器測試系統(tǒng)。串口儀器:它是以Serial 標準總線儀器與激素那幾硬件平臺組成的儀器測試系統(tǒng)。VXI模塊:它是以VXI標準總線儀器模塊與計算機為硬件平臺組成的儀器測試系統(tǒng)。PXI模塊:它是以PXI標準總線儀器模塊與計算機為硬件平臺組成的儀器測試系統(tǒng)。 (2)虛擬儀器的應(yīng)用軟件由應(yīng)用程序和I/O接口設(shè)備驅(qū)動程序。這些軟件開發(fā)工具為用戶設(shè)計虛擬儀器應(yīng)用軟件提供了良好開發(fā)環(huán)境。 1)應(yīng)用程序。它包含兩個方面的程序:實現(xiàn)虛擬面板功能的前面板軟件程序和定義測試功能的流程圖軟件程序。 2)I/O接口儀器驅(qū)動程序。這類程序用來完成特定外部硬件設(shè)備的擴展、驅(qū)動與通信。開發(fā)虛擬儀器,必須有合適的軟件工具。目前已有多種虛擬儀器的軟件開發(fā)工具。包括文本式編程語言:如C、VisualC+、Visual Basic 、Labwindows/CVI等和圖形化編程語言:如Labview 、HPVEE等。這些軟件開發(fā)工具為用戶設(shè)計虛擬儀器應(yīng)用軟件提供了最大限度的方便條件與良好的開發(fā)環(huán)境。(3-3) 2、虛擬儀器的分類 虛擬儀器有多種分類方法,既可以按照應(yīng)用領(lǐng)域分,也可以按照測量功能分,但是最常用的還是按照構(gòu)成虛擬儀器接口總線的不同,分為基于數(shù)據(jù)采集(DAQ)卡的虛擬儀器、基于GPIB總線的虛擬儀器、基于VXI總線的虛擬儀器、基于RS-232C總線的虛擬儀器、基于PXI總線的虛擬儀器、基于LXI總線的虛擬儀器、基于USB總線的虛擬儀器和基于IEEE-1394總線的虛擬儀器。 1.1.4 虛擬儀器的優(yōu)點與應(yīng)用1、虛擬儀器的優(yōu)點可歸納為:(1)軟件是核心。根據(jù)系統(tǒng)設(shè)計的要求,在選定系統(tǒng)控制用計算機以及一些標準的一起硬件模塊或者板卡后,軟件部分就成為構(gòu)建和使用虛擬儀器的關(guān)鍵所在。其中,儀器驅(qū)動程序的功能是實現(xiàn)與儀器硬件的接口和通信,應(yīng)用軟件則完成用戶定義的測試和儀器的功能,并提供人機交互界面。在進行應(yīng)用程序開發(fā)時,可以利用NI公司開發(fā)的LABVIEW與LABWINDOWS/CVI,HP公司的VEE等集成開發(fā)環(huán)境??梢钥闯?,軟件在虛擬儀器的技術(shù)中占有十分重要的作用,NI公司提出的“軟件即儀器”(Software is Instrument)就是這一特點的形象概括、 (2)靈活性和可擴展性。虛擬儀器打破了傳統(tǒng)儀器由廠商定義功能和控制面板,用戶無法更改模式。一起用戶可根據(jù)自己不斷變化的需求,自由發(fā)揮自己的想象力,方便靈活的重組測量系統(tǒng),系統(tǒng)的擴展,升級可隨時進行,而且系統(tǒng)的更新的周期短,見效快,能充分的滿足用戶在不同的場合的應(yīng)用需求。 (3)性價比高。虛擬儀器可以將在傳統(tǒng)一起中一些由硬件完成的功能轉(zhuǎn)為軟件實現(xiàn),減少了自動測試系統(tǒng)的硬件環(huán)節(jié),降低了系統(tǒng)的開發(fā)成本和維護成本。虛擬儀器能夠同時對多個參數(shù)進行實時高效的測量,信號傳輸大部分采用數(shù)字信號的形式,數(shù)字信號處理主要依賴軟件來實現(xiàn),大大降低了環(huán)境干擾和系統(tǒng)誤差的影響。用戶可以隨時根據(jù)需求調(diào)整虛擬儀器的功能實現(xiàn)“一機多型”和“一機多用”。因此,是用虛擬儀器比傳統(tǒng)儀器更加經(jīng)濟。 (4)人機界面友好。虛擬儀器的操控界面采用的是圖形化編程技術(shù)實現(xiàn)的一種虛擬面板或者稱為軟面板。虛擬面板可以模擬傳統(tǒng)儀器面板的世紀風(fēng)格來設(shè)計,也可以由用戶根據(jù)實際需求來進行定制設(shè)計。測量結(jié)果可以通過計算機屏幕以曲線,圖形,數(shù)據(jù)或者表格等形式顯示出來。 (5)與其他設(shè)備互聯(lián)功能強大。虛擬儀器通常具備標準化的總線或者通信接口,具有和其他設(shè)備互聯(lián)的功能。例如,虛擬儀器能夠通過以太網(wǎng)與Internet相連,或者通過現(xiàn)場總線完成對現(xiàn)場設(shè)備的監(jiān)控和管理等。這種互聯(lián)能力使得虛擬設(shè)備系統(tǒng)功能顯著增強,應(yīng)用領(lǐng)域明顯擴大。 虛擬儀器是對傳統(tǒng)儀器概念的重大突破,虛擬儀器與傳統(tǒng)儀器的最重要區(qū)別之一是:虛擬儀器的功能由用戶自己定義,而傳統(tǒng)儀器的功能完全由廠商事先定義好的。相關(guān)比較如表1-1所示。 儀器虛擬儀器傳統(tǒng)儀器關(guān)鍵技術(shù)關(guān)鍵是軟件關(guān)鍵是硬件費用卡法與維護的費用低開發(fā)與維護的費用高技術(shù)更新周期短(1-2年)長(5-10年)價格低,可重用與可配置性強高功能定義用戶定義儀器功能廠商定義儀器功能開放性系統(tǒng)開放,靈活,可與計算機技術(shù)保持同步發(fā)展系統(tǒng)封閉,固定連接性與網(wǎng)絡(luò)及其他周邊設(shè)備方便互聯(lián)的面向應(yīng)用的儀器系統(tǒng)功能單一,互聯(lián)的有限功能的獨立設(shè)備2、虛擬儀器的應(yīng)用 虛擬儀器的出現(xiàn)代表著從傳統(tǒng)硬件為主的測量系統(tǒng)到以軟件為中心的測量系統(tǒng)的根本性轉(zhuǎn)變。新的以軟件為中心的虛擬儀器系統(tǒng)為用戶提供了創(chuàng)新技術(shù)并大幅降低了生產(chǎn)成本。相比較于示波器等傳統(tǒng)的儀器,虛擬儀器的靈活性、低價位以及插入化和網(wǎng)絡(luò)化硬件等技術(shù)的革新,使得它的應(yīng)用前景更加廣闊。 虛擬儀器技術(shù)作為現(xiàn)代儀器技術(shù)與計算機技術(shù)相結(jié)合的創(chuàng)新技術(shù),已被廣泛應(yīng)用于電子、機械、通信、汽車制造、生物、醫(yī)藥、化工、科研、軍事和教育等各個領(lǐng)域。尤其在工程應(yīng)用和社會經(jīng)濟效益方面具有突出優(yōu)勢。1、應(yīng)用于測試與測量 ,它已經(jīng)成為測試與測量領(lǐng)域的工業(yè)標準。2、應(yīng)用于過程控制盒工業(yè)自動化,得益于其強大的硬件驅(qū)動、圖形顯示能力和便捷的快速程序設(shè)計,使得它為過程控制和工業(yè)自動化應(yīng)用提供了優(yōu)秀的解決方案。3、應(yīng)用于實驗室研究與自動化,它為科學(xué)家和工程師提供了功能強大的高級數(shù)學(xué)分析庫,可滿足他們計算分析的需要。1.1.5 虛擬儀器的發(fā)展和現(xiàn)狀 1、虛擬儀器的發(fā)展 追溯電子測量儀器的發(fā)展歷史,大體經(jīng)歷了以下的發(fā)展歷程: 第一代模擬儀器。 這類儀器在某些實驗室里還能看到, 他是以電磁感應(yīng)基本定律為基礎(chǔ)的指針式儀器, 如指針式萬用表、指針式電壓表、 指針式電流表等。 第二代分立元件式儀器。 當(dāng)20世紀50年代出現(xiàn)電子管、60年代出現(xiàn)晶體管時,便產(chǎn)生了以電子管火晶體管電子電路為基礎(chǔ)的第二代測試儀器分立元件式儀器。 第三代數(shù)字化儀器:。20世紀70年代,隨著集成電路的出現(xiàn),誕生了已集成電路芯片為基礎(chǔ)的第三代儀器數(shù)字式儀器。這類儀器相當(dāng)普及,如數(shù)字萬用表、數(shù)字頻率計等。 第四代智能儀器。隨著微電子技術(shù)的發(fā)展和微處理器的普及, 以微處理器為核心的第四代儀器 智能式儀表迅速普及。 這類儀器內(nèi)置微處理器, 可以進行自動測試和數(shù)據(jù)處理功能, 習(xí)慣上稱為智能儀器。 其缺點是他的功能都是以硬件的形式存在, 無論是開發(fā)還是應(yīng)用, 都缺乏靈活性。 虛擬儀器。 目前, 電子測量儀器領(lǐng)域出現(xiàn)了一種全新的儀器 虛擬儀器。 虛擬儀器與智能儀器有點類似, 它是將儀器裝入計算機, 以通用的計算機硬件以及操作系統(tǒng)為依托, 來實現(xiàn)各種儀器功能。 采用虛擬儀器技術(shù)構(gòu)建的測試儀器, 具有開發(fā)效率高、 可維護性強、 測試精度高、 穩(wěn)定性和可靠性好等優(yōu)點, 因此具有較高的性能價格比, 便于節(jié)省投資、 設(shè)備更新和功能轉(zhuǎn)換與擴充1-3。 2、 虛擬儀器的現(xiàn)狀 近年來,世界各國的虛擬儀器公司開發(fā)了不少虛擬儀器開發(fā)平臺軟件,以便使用者利用這些儀器公司提供的開發(fā)平臺軟件組建自己的虛擬儀器或測試系統(tǒng),并編制測試軟件。最早和最具影響的開發(fā)軟件,是 NI公司的 Lab VIEW軟件和 LABWINDOWS/CVI開發(fā)軟件。Lab VIEW采用圖形化編程方案,是非常實用的開發(fā)軟件。Lab WindowsCVI是為熟悉C語言的開發(fā)人員準備的、在Windows環(huán)境下的標準ANSIC開發(fā)環(huán)境。除了上述的優(yōu)秀開發(fā)軟件之外,美國HP公司的HPVEE和HPTIG平臺軟件,美國TEKTRONS公司的EzTest和TEKTNS軟件,以及美國HEM Data公司的SnapMARTER平臺軟件,也是國際上公認的優(yōu)秀虛擬儀器開發(fā)平臺軟件 虛擬儀器的突出成就不僅是可以利用PC機組建成為靈活的虛擬儀器,更重要的是它可以通過各種不同的接口總線,組建不同規(guī)模的自測試系統(tǒng)。虛擬儀器系統(tǒng)的基本構(gòu)架包括功能強大的軟件、模塊化的測量硬件及標準商業(yè)科技(如個人計算機和網(wǎng)際網(wǎng)絡(luò))。虛擬儀器技術(shù)包含了專為控制應(yīng)用設(shè)計的軟件及針對不同頻率與精確度范圍的通用測量硬件,因此,工程師可以在測試或控制應(yīng)用中自行定義測量功能。 1.2 LabVIEW的簡介 LabVIEW(laboratory virtual instrument engineering workbench) 是一種用圖表代替文本創(chuàng)建應(yīng)用程序的圖形化編程語言,它是由美國公司推出的虛擬儀器開發(fā)平臺,也是目前應(yīng)用最廣、發(fā)展最快、功能最強的圖形化軟件集成開發(fā)環(huán)境。它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實驗室所接受,被公認為是標準的數(shù)據(jù)采集和儀器控制軟件。 LabVIEW大大簡化了虛擬儀器系統(tǒng)的開發(fā)過程,縮短了系統(tǒng)的開發(fā)和測試周期。它作為一種圖形化編程語言,是真正面向科學(xué)家和工程師的編程語言,被譽為“科學(xué)家與工程師”的語言。 以LabVIEW為代表的圖形化程序語言又稱“G”語言。使用這種語言編程時,基本不需要編寫程序代碼,而是”繪制”程序流程圖。LabVIEW盡可能利用工程技術(shù)人員所熟悉的術(shù)語、圖標和概念,因而它是一種面向最終用戶的開發(fā)工具,可以增強工程人員構(gòu)建自己的科學(xué)和工程系統(tǒng)的能力,可為實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)提供便捷途徑。LabVIEW為虛擬儀器者提供了一個便捷、輕松的設(shè)計環(huán)境,利用它,設(shè)計者可以像搭積木一樣,輕松組建一個測量系統(tǒng)和構(gòu)建自己的儀器面板,而無需進行任何繁瑣的計算機代碼的編寫。LabVIEW是虛擬儀器必不可少的一部分,因為它為用戶提供了一個簡單易用的程序開發(fā)環(huán)境,特別考慮了工程師和科學(xué)家的需要而專門設(shè)計。它主要有以下特點:)、圖形化編程軟件,設(shè)計者無需寫任何文本格式的代碼,是真正的工程師的語言;)、提供了豐富的數(shù)據(jù)采集、分析及存儲的函數(shù)庫;)、即提供了傳統(tǒng)的程序調(diào)試手段,如設(shè)置斷點、單步運行,同時提供有獨到的高度執(zhí)行工具,使程序動畫式運行,利于設(shè)計者觀察程序運行的細節(jié),使程序的調(diào)試和開發(fā)更為便捷。采用傳統(tǒng)的調(diào)試手段與新穎的高亮顯示,更有利于編程人員進行測試;)、32bit的編譯器編譯生成32bit的編譯程序,保證數(shù)據(jù)采集、測試和測量方案的高速執(zhí)行;)、囊括了DAQ、GPIB、PXI、RS-232/485在內(nèi)的各種儀器通信總線標準的所有功能函數(shù),使得了那些不懂總線標準的用戶也能夠驅(qū)動不同的總線標準接口設(shè)備與儀器;)、提供大量與外部代碼或軟件進行連接的機制,諸如DLLs(動態(tài)鏈接庫)、DDE(共享庫)、ActiveX等;)、強大的Internet功能,支持常用網(wǎng)絡(luò)協(xié)議,方便網(wǎng)絡(luò)、遠程測控儀器的開發(fā)。 3-4 正因為LabVIEW這些強大的優(yōu)勢,使得它廣泛應(yīng)用于工程處理的每一個階段,從研發(fā)設(shè)計到測試,再到生產(chǎn)無處不見LabVIEW的應(yīng)用。1.3 關(guān)于本次設(shè)計本次設(shè)計旨在利用LabVIEW開發(fā)工具,實現(xiàn)拼圖游戲設(shè)計和仿真。要求最終實現(xiàn)模擬一個拼圖游戲的過程,其一次正常游戲過程為:初始化游戲改變小圖片位置評估小圖片位置,當(dāng)小圖片處于正確的位置時輸出提示語對話框。2、拼圖簡介2.1 拼圖游戲的簡介 拼圖游戲是對一種益智類游戲的通稱,是通過對亂序的小圖片不斷地位置變換來完成圖片拼接的一種游戲。它是廣受歡迎的一種智力游戲,它的變化多端,難度不一,讓人百玩不厭。每一個拼圖的單片都有確定的位置,放對了就慢慢豐富起來,放錯了就無法完整。2.2 labview實現(xiàn)拼圖游戲的基本思路 本次設(shè)計是基于LabVIEW來對拼圖游戲進行模擬仿真,利用LabVIEW中的常用編程控件,來完成對拼圖游戲的基礎(chǔ)功能的實現(xiàn)。然后通過等級差別來實現(xiàn)難度的跨越,最后利用調(diào)用子程序來實現(xiàn)游戲的完整,實現(xiàn)本次拼圖游戲的設(shè)計。因此本程序能實現(xiàn)拼圖游戲的基礎(chǔ)功能,并且增加不同難度等級以豐富游戲。2.3 labview實現(xiàn)拼圖游戲的框架 本次基于LabVIEW的拼圖游戲的設(shè)計的主要功能就是,在拼圖游戲啟動后,顯示出游戲的主界面,如圖所示,也就是我們拼圖游戲最后要完成的效果界面。在界面框中,放置了將要實現(xiàn)的功能。 在主界面中,設(shè)置了初級、中級、高級三個拼圖游戲的等級,除了這三個等級外還有幫助選項。操作者可以根據(jù)個人需求選擇不同的操作,這四個功能構(gòu)成了本次設(shè)計的主要功能,并分別采用布爾按鈕來操作。 初級。點擊該按鈕后,程序?qū)⒘⒓达@示初級游戲界面,該界面是由九副錯亂的圖片排列成的三乘三游戲界面,用戶可以通過操作鼠標點擊圖片來不斷移動圖片,從而完成游戲。 中級。點擊該按鈕后,程序?qū)⒘⒓达@示初級游戲界面,該界面是由十六副錯亂的圖片排列成的四乘四游戲界面,用戶可以通過操作鼠標點擊圖片來不斷移動圖片至空白圖片處,從而完成游戲。 高級。點擊該按鈕后,程序?qū)⒘⒓达@示初級游戲界面,該界面是由二十五副錯亂的圖片排列成的五乘五戲界面,用戶可以通過操作鼠標點擊圖片來不斷移動圖片,從而完成游戲。 幫助。點擊該按鈕后,程序?qū)⒘⒓达@示幫助界面,該界面是由圖形控件組成,并配以對拼圖游戲玩法的文字簡介,操作者可以根據(jù)簡介清楚掌握游戲玩法。點擊退出跳轉(zhuǎn)到游戲主界面。最后,經(jīng)過編程設(shè)計出初級、中級、高級和幫助四個程序VI,將它們利用子VI技術(shù)組合在一起,并對其界面排版進行設(shè)計。2.4 拼圖游戲的設(shè)計原理本次拼圖游戲設(shè)計主要是基于LabVIEW 2013虛擬平臺,使用圖形語言編程。設(shè)計原理是:拼圖游戲主界面在初始化后,程序要對按下的按鈕進行檢測和分析,判斷出按下的按鈕;然后顯示為相應(yīng)功能的界面,等待操作者選擇需要執(zhí)行的動作,以此來實現(xiàn)在每個功能中不同的操作。如選擇初級,則游戲進入初級界面,在接受初始化信號之后,通過獲取圖片VI調(diào)用文件中的圖片,再利用隨機數(shù)組VI將九塊小圖片的位置打亂,區(qū)別于正確的位置。初始化之后通過不斷地位置變化來尋找正確的位置,while循環(huán)語句完成的就是這一功能,每挪動一次位置之后,while循環(huán)語句確定該小圖片是否在正確的位置上,直到所有九塊圖片都處于正確的位置時,進入條件結(jié)構(gòu)的工作。所有的圖片都處于正確的位置之后輸出祝賀的提示語,并彈出對話框,選擇再來一局或直接退出。選擇中級、高級也會相應(yīng)顯示出對應(yīng)操作。選擇幫助,則游戲進入幫助VI,通過圖形控件顯示出游戲說明,幫助初玩者快速了解游戲。拼圖游戲設(shè)計主要分為初級模塊,中級模塊,高級模塊,幫助模塊。其中初級模塊、中級模塊和高級模塊這三個模塊都由獲取圖片,隨機數(shù)組,拼圖三個基本模塊構(gòu)成。幫助模塊,由圖形控件組成。 最后,經(jīng)過子VI的設(shè)計和程序調(diào)用,初級模塊、中級模塊、高級模塊和幫助模塊,將他們組合在一起。 本設(shè)計主要包括四個部分:獲取圖片,隨機數(shù)組,拼圖和幫助模塊,下面就分別著重介紹四個模塊的功能。2.5 拼圖游戲設(shè)計的主要模塊2.4.1 獲取圖片模塊 獲取圖片模塊的主要功能是從文件中讀取出圖片。點擊運行后,根據(jù)名稱或相對路徑,調(diào)用讀取圖片子VI,根據(jù)JPEG文件路徑,調(diào)用出圖片,再調(diào)用繪制平化像素圖子VI,修改圖像數(shù)據(jù),使得符合顯示要求。2.4.2 隨機數(shù)組模塊 隨機數(shù)組模塊的主要功能是把按正確順序排列的圖片數(shù)組打亂,以區(qū)別于正常順序的圖片數(shù)組,使得拼圖游戲得以初始化。該模塊由兩個同等大小的數(shù)組組成,一個顯示圖片的輸入,一個顯示隨機排列后圖片的輸出。 點擊程序運行按鈕,程序即可開始運行,先是圖片數(shù)組的輸入,再經(jīng)過對數(shù)組維數(shù)的重新排列,使得數(shù)組變?yōu)橐痪S數(shù)組,并且查找出空白圖片的位置,再根據(jù)數(shù)組維數(shù),經(jīng)過運算得出空白數(shù)組的坐標,以此來作為圖片元素移動的標準,即只有位置在空白圖片上下左右的圖片元素才可以移動位置。隨后通過while循環(huán)和條件結(jié)構(gòu),來確定如何具體的實現(xiàn)圖片的隨進排列。最后經(jīng)過數(shù)組替換,使得隨機排列后的數(shù)組顯示在界面上,至此隨機數(shù)組排列的功能得以實現(xiàn)。2.4.3 拼圖模塊 拼圖模塊的主要功能是實現(xiàn)操作者對拼圖游戲的操作性,點擊程序運行按鈕后,前面板會出現(xiàn)拼圖界面,按初級中級高級的不同,界面顯示也不同。初級顯示的是一個三維數(shù)組組成的三乘三的拼圖界面,中級顯示的是一個由四維數(shù)組組成的四乘四的拼圖界面,高級顯示的一個由五維數(shù)組組成的五乘五的拼圖界面。以初級為例,程序運行后,顯示出一個由三維數(shù)組組成的界面,其中三維數(shù)組里的元素由八副隨機打亂的圖片素材和一張空白圖片素材組成。操作者點擊空白圖片上下左右的圖片素材,即可移動圖片至空白圖片處,可連續(xù)操作,直至拼圖游戲完成。在三維素組界面左下方有個停止按鈕,如果拼圖游戲尚未拼成功,點擊停止即返回游戲主頁界面;如果拼圖游戲完成,則顯示出祝賀語和確定選項,點擊即返回游戲主頁界面。中級和高級運行和初級基本相似。至此拼圖模塊功能實現(xiàn)。2.4.4 幫助模塊 幫助模塊的主要功能是幫助操作者清楚掌握游戲玩法。這個模塊主要應(yīng)用的是圖形控件來展示。點擊程序運行按鈕后,程序?qū)⒄{(diào)用圖形控件至前面板,以此來顯示出幫助內(nèi)容。圖形控件是LabVIEW為方便用戶操作而提供的一種自定義控件,用戶可以隨心所欲地畫出自己想要的圖形,通過自定義窗口就可以隨意導(dǎo)入圖片并且按需求調(diào)整圖片大小和設(shè)置控件外觀。在這個模塊,利用圖形控件的自定義性,導(dǎo)入預(yù)先用圖片處理器處理過的配有幫助字符的圖片,再調(diào)整大小和外觀,使得用戶可以在運行程序后看到幫助。(132)3、 拼圖游戲的具體實現(xiàn)3.1 獲取圖片功能的具體實現(xiàn) 圖片獲取功能是整個拼圖游戲的基礎(chǔ)模塊,它主要實現(xiàn)對拼圖游戲的圖片進行自動從文件導(dǎo)入的功能。 3.2 隨機數(shù)組的具體實現(xiàn) 隨機數(shù)組是整個拼圖游戲的核心基礎(chǔ)模塊,它主要實現(xiàn)對拼圖游戲的初始化工作。原始數(shù)組是按照圖片的正確順序依次排列,為了游戲的更好進行隨機數(shù)組就需要把原始數(shù)組打亂排列成為新的數(shù)組,以增加游戲難度。隨機數(shù)組的實現(xiàn)主要是一個while結(jié)構(gòu)、一個for結(jié)構(gòu)和一個條件結(jié)構(gòu)組合實現(xiàn)。因為初級中級高級隨機數(shù)組模塊的實現(xiàn)過程基本類似,所以統(tǒng)一以初級為例進行說明;稍有差異之處,會在最后另加說明。初級模塊隨機數(shù)組的實現(xiàn)主要分為以下過程: 1、原始按照圖片正確順序排列的數(shù)組作為數(shù)組輸入進入到while循環(huán)中,如下圖所示,利用重排數(shù)組維數(shù)和搜索一維數(shù)組控件來實現(xiàn)對空白圖片位置坐標的定位,即空白圖片在圖片數(shù)組中的行列數(shù)得以確定,隨后圖片的隨機排列將以空白圖片為核心展開。While循環(huán)在本模塊的作用是多次重復(fù)打亂圖片排放順序直至循環(huán)結(jié)束。 2、確定了空白圖片的行列值后,利用簇合并行列值為一個整體值,即以坐標的形式展示??瞻讛?shù)組的坐標與(1,0)和(0,1)分別進行相加相減運算,這是確定將要打亂的圖片是空白圖片元素上下左右位置的圖片。運算的結(jié)果分別作為獨立的值進入for循環(huán)中,設(shè)定for循環(huán)的次數(shù)為三次。再用隨機數(shù)和常數(shù)的乘法運算得到一個長整型的數(shù)值,這個數(shù)值和數(shù)組維數(shù)3進行相除運算,再和循環(huán)次數(shù)做簡單的加法運算,最后和維數(shù)3相除,得到的余數(shù)作為進入條件結(jié)構(gòu)的判斷條件。在該部分進行的數(shù)值運算都是基于產(chǎn)生隨機的數(shù)字并保證次數(shù)的延續(xù)性和數(shù)值的不重復(fù)性。 3、 根據(jù)余數(shù)的不同,進入條件結(jié)構(gòu)中的運算也不同。因為被除數(shù)是3,所以得到的余數(shù)只有三種可能0,1,2,因此設(shè)定條件結(jié)構(gòu)的分支為三條。如果余數(shù)是0,則進入第一條分支,先判斷上一步驟中空白圖片和(1,0)(0,1)運算的結(jié)果是否在(0,0)和(3,3)內(nèi),即判斷是否超出數(shù)組的范圍。若沒有超出則強制轉(zhuǎn)換空白圖片坐標減去(1,0)處即空白圖片正上方的圖片元素的行列坐標;同理余數(shù)是1時,制轉(zhuǎn)換空白圖片坐標加上(0,1)處即空白圖片正右方的圖片元素的行列坐標;余數(shù)是2時,制轉(zhuǎn)換空白圖片坐標減去(0,1)處即空白圖片正左方的圖片元素的行列坐標。這一過程主要完成要打亂的圖片處于什么樣的位置的功能。4、找到要打亂的圖片所在的位置后,利用索引數(shù)組找到元素所在位置的圖片,利用替換數(shù)組進行行列的替換從而得以實現(xiàn)圖片的位置打亂功能。重復(fù)此操作直至跳出while循環(huán),將打亂圖片位置后的數(shù)組輸出即完成對數(shù)組的隨機排列。以上就是初級拼圖游戲的隨機數(shù)組模塊的功能實現(xiàn)。中級和高級只是數(shù)組維數(shù)和條件分支處有細微差異。如圖所示,其余實現(xiàn)原理以及過程均相同。3.3 拼圖的具體實現(xiàn)拼圖模塊是整個游戲的核心模塊,它主要實現(xiàn)的是操作者對整個游戲的操控。因為初級中級高級拼圖模塊的實現(xiàn)過程基本類似,所以統(tǒng)一以初級為例進行說明;稍有差異之處,會在最后另加說明。初級拼圖面板界面如圖所示,它由三維數(shù)組組成,八福隨機排列的圖片和一副空白圖片作為數(shù)組元素添加在數(shù)組里面。點擊空白圖片上下左右的圖片元素即可實現(xiàn)圖片的移動。具體實現(xiàn)分為以下過程。1、原始數(shù)組創(chuàng)建以及圖片元素顯示 要實現(xiàn)圖片元素的顯示,需要調(diào)用獲取圖片子VI。根據(jù)圖片路徑結(jié)合獲取圖片子 VI實現(xiàn)對文件中八副圖片的調(diào)用,并把這八副圖片和一副空白圖片作為數(shù)組元素創(chuàng)建出一個數(shù)組,并且確定數(shù)組所在的坐標為(0,0)。隨后用重排數(shù)組控件調(diào)整數(shù)組為三維數(shù)組,并把該數(shù)組設(shè)定為原始數(shù)組。再調(diào)用初級隨機數(shù)組子VI,并把經(jīng)過隨機排列后的原始數(shù)組設(shè)定為數(shù)組。2、 拼圖操作 實現(xiàn)拼圖操作的主要程序是一個while循環(huán)、一個事件結(jié)構(gòu)和一個條件結(jié)構(gòu)。如圖所示 (1)while循環(huán)實現(xiàn)的是對拼圖操作的一個控制,程序正常運行則進入事件結(jié)構(gòu),程序需要停止就終止程序運行。 (2)事件結(jié)構(gòu)顯示的是對不同的操作程序的運行情況。主要分為三個事件:對數(shù)組元素的鼠標操作、超時和游戲停止。 A、 對數(shù)組元素的鼠標操作,程序如圖所示 把鼠標按下位置的坐標創(chuàng)建為屬性節(jié)點,它和坐標(4,4)的差值除以每個數(shù)組元素邊框值(170,99),所得到的商和余數(shù)取長整型后的數(shù)值即為數(shù)組元素中鼠標按下操作所對應(yīng)的圖片在數(shù)組中的行列數(shù),如(1,2)代表第一行第二列的圖片元素。把經(jīng)過隨機排列的數(shù)組轉(zhuǎn)換為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)教師教學(xué)工作計劃集合
- 人教版小學(xué)四年級信息技術(shù)教學(xué)計劃
- 九月新學(xué)期幼兒教師個人工作計劃
- 酒店管理年終個人工作總結(jié)與計劃
- 七年級班主任年度工作計劃
- 《機械制圖與CAD含習(xí)題集》課件-第4章1
- 2020版 滬教版 高中音樂 必修5音樂與舞蹈 下篇《第三單元 足尖之舞》大單元整體教學(xué)設(shè)計2020課標
- 合同包劃分的步驟
- 工會合同制人員工資標準
- 體檢合同糾紛處理
- 人教版小學(xué)數(shù)學(xué)三年級上冊全套課件合集
- GB/T 10001.1-2023公共信息圖形符號第1部分:通用符號
- 資產(chǎn)評估常用數(shù)據(jù)與參數(shù)手冊
- 公園廣場保潔管理服務(wù)投標方案
- 二手車鑒定評估報告表
- 警察影像-江蘇警官學(xué)院中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 金融隨機分析2課后答案
- 大學(xué)美育知到章節(jié)答案智慧樹2023年延邊大學(xué)
- 數(shù)控銑床工作臺三維運動伺服進給系統(tǒng)設(shè)計-課程設(shè)計
- 全國碩士研究生入學(xué)統(tǒng)一考試《思想政治理論》試題答題卡模板
- 外貿(mào)函電-報盤及外貿(mào)函電模板大全
評論
0/150
提交評論