貪吃蛇游戲Labview課程設(shè)計報告_第1頁
貪吃蛇游戲Labview課程設(shè)計報告_第2頁
貪吃蛇游戲Labview課程設(shè)計報告_第3頁
貪吃蛇游戲Labview課程設(shè)計報告_第4頁
貪吃蛇游戲Labview課程設(shè)計報告_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Labview課程設(shè)計—貪吃蛇學(xué)院:信息科學(xué)與工程學(xué)院班級:自動化1302姓名:趙仕軍學(xué)號:20137214引言:Labview是一款程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā)的,類似于C和BASIC開發(fā)環(huán)境,但是Labview與其他計算機(jī)語言的顯著區(qū)別是:其他計算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而Labview使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。同C語言和BASIC語言一樣,Labview也是通用的編程系統(tǒng),有一個完成任何編程任務(wù)的龐大函數(shù)庫。Labview的函數(shù)庫包括數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、數(shù)據(jù)顯示及數(shù)據(jù)存儲等。Labview也有傳統(tǒng)的程序調(diào)試工具,如設(shè)置斷點、以動畫方式顯示數(shù)據(jù)及其子程序的結(jié)果、單步執(zhí)行等等,便于程序的調(diào)試。Labview是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(zhí)行順序,而Labview采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點之間的數(shù)據(jù)流向決定了VI及函數(shù)的執(zhí)行順序。VI指虛擬儀器,是Labview的程序模塊。Labview提供很多外觀與傳統(tǒng)儀器類似的控件,可用來方便地創(chuàng)建用戶界面。用戶界面在Labview中被稱為前面板。使用圖標(biāo)和連線,可以通過編程對前面板上的對象進(jìn)行控制。這就是圖形化源代碼,又稱G代碼。Labview的圖形化源代碼在某種程度上類似于流程圖,因此又被稱作程序框圖代碼。本學(xué)期通過對于Labview的學(xué)習(xí)對于Labview有了一定的認(rèn)識,在此基礎(chǔ)上,在labview平臺上,利用設(shè)計多子VI,我設(shè)計了一個貪吃蛇的小游戲。包含了失敗提醒以及統(tǒng)計分?jǐn)?shù)、開始暫停的功能。目錄程序設(shè)計程序設(shè)計流程………………….模塊設(shè)計及說明………………調(diào)試運行………程序不足分析……心得體會參考文獻(xiàn)程序設(shè)計程序設(shè)計流程1.1程序設(shè)計分析1)設(shè)計一個主界面,主界面的顯示通過二維布爾型數(shù)組(后面按稱作LED)實現(xiàn)。2)設(shè)計食物的隨機(jī)產(chǎn)生,通過隨機(jī)產(chǎn)生一系列數(shù),每次產(chǎn)生兩個,作為食物的坐標(biāo),并且相應(yīng)坐標(biāo)位置數(shù)組上賦值,點亮LED燈。3)設(shè)計分?jǐn)?shù)統(tǒng)計,并顯示。4)設(shè)計按鍵操作,實現(xiàn)蛇的各個方向移動。每個按鍵賦予一個值,根據(jù)值判斷方向,并且在相應(yīng)方向上增加以及刪除節(jié)點。5)吃食物,蛇移動等相關(guān)子VI的建立。1.2設(shè)計流程全局變量globalVI添加mainVI 添加按鍵KeyScan子VI修改global全局VImove子VI初步完成,調(diào)試成功(缺少isDeadVI)添加顯示freshDisplayVI添加數(shù)據(jù)初始化initialize.VI添加食物產(chǎn)生randFood.VI添加失敗提醒isDead.VI添加按鍵處理keyAction.VI(新建)調(diào)試運行2、模塊設(shè)計及說明2.1主VI模塊main.vi前面板包括蛇顯示界面,蛇移動范圍界面,分?jǐn)?shù)顯示界面,蛇移動相關(guān)操作操作按鍵主程序組成:包含了一個主要while循環(huán)結(jié)構(gòu)及分支while循環(huán)、順序結(jié)構(gòu)、條件結(jié)構(gòu)、菜單操作模塊、初始化局部變量分?jǐn)?shù)、初始化變量模塊子VI、按鍵值賦值模塊子VI、根據(jù)按鍵值定義蛇動作模塊子VI、顯示二維數(shù)組賦值模塊子VI、顯示LED賦值數(shù)組、判斷能否繼續(xù)游戲判定子VI、食物隨機(jī)生成子VI、蛇吃到食物處理子VI、蛇移動子VI。分?jǐn)?shù)顯示模塊:放在吃掉食物為真的情況下,不斷加1達(dá)到分?jǐn)?shù)累計的作用。分?jǐn)?shù)模塊初始化:主VI程序框圖:2.2全局變量模塊global.vi1)顯示模塊全局變量存放每一位led燈的狀態(tài),0表示滅,-1表示亮2)蛇頭、蛇尾節(jié)點全局變量存放蛇頭、蛇尾的位置、方向信息3)蛇轉(zhuǎn)向點全局變量存放蛇頭轉(zhuǎn)向的位置、方向信息4)蛇轉(zhuǎn)向信息全局變量cur_turn_index記錄當(dāng)前時刻方向next_turn_index記錄下一時刻方向turn_size記錄轉(zhuǎn)向次數(shù)(設(shè)定0為向上,1為向下,2為向左,3為向右轉(zhuǎn)向)4)畫面最大顯示存放顯示界面以及蛇運動范圍最大行、列格數(shù)信息。5)二維數(shù)組值用于控制二維LED點陣數(shù)組的量滅6)食物位置全局變量存放隨機(jī)產(chǎn)生的食物的位置信息2.2初始化各全局變量initialize.vi生成一個寬度為18X18的顯示界面,最外邊一圈LED燈點亮。同時生成一個長度為三個方形LED,頭節(jié)點位于坐標(biāo)為(3,5),尾節(jié)點位于坐標(biāo)(3,3)的方塊蛇,出始運動方向向右。2.3按鍵賦值KeyScan.vi前面板:主程序:實現(xiàn)對上下左右鍵值賦值上0、下1、左2、右3,并設(shè)立使能信號變量,有鍵值才使能判斷按鍵動作子VI有效。2.3按鍵動作判斷KeyAction.vi判斷動作并將動作信息傳遞給蛇頭,并保存動作節(jié)點位置相關(guān)信息,包含轉(zhuǎn)向點的坐標(biāo),轉(zhuǎn)向次數(shù),以及轉(zhuǎn)向點的轉(zhuǎn)向2.4刷新顯示updateDisplay.vi前面板:根據(jù)0滅,-1亮的原則。將snake_buff數(shù)組值與0比較,等于0,對應(yīng)坐標(biāo)布爾數(shù)組賦值F,不等于0,對應(yīng)坐標(biāo)布爾數(shù)組賦值T,給二維布爾數(shù)組LED顯示。程序框圖:2.5判斷游戲是否繼續(xù)isDead.vi判斷蛇是否撞墻或者咬到自己,滿足上述情況deadFlag布爾型顯示控件,作為標(biāo)志位顯示為1,用于觸發(fā)相應(yīng)條件語句。2.5判斷蛇是否吃掉食物isFoodEaten.vi判斷蛇是否碰到食物,碰到食物便增加一個頭節(jié)點。通過四個方向來判斷,在四個方向哪個方向上增加節(jié)點。2.6隨機(jī)產(chǎn)生食物randFood.vi隨機(jī)在游戲界面橫坐標(biāo)及縱坐標(biāo)中產(chǎn)生隨機(jī)數(shù),組合作為食物位置并點亮相應(yīng)LED燈,同時限定了食物坐標(biāo)的范圍是在18X18界面范圍內(nèi)。2.7蛇移動move.vi蛇根據(jù)按鍵方向移動,過程中不斷更新頭節(jié)點和尾節(jié)點坐標(biāo)以及方向。如果吃到了食物,會增加一節(jié)長度。運動的同時會刪除尾節(jié)點,延伸到下一個節(jié)點。將轉(zhuǎn)向信息賦值給尾節(jié)點,同時將值賦值到二維數(shù)組snake_buff中點亮相應(yīng)LED燈。2.8菜單欄設(shè)計開始(start)、暫停(stop)、退出(停止)功能實現(xiàn):失敗后點擊開始,重新初始化程序,以及各變量;Stop暫停游戲,并且點擊開始能當(dāng)前繼續(xù)游戲;3、調(diào)試運行運行界面如下:點擊開始:外圈燈全部點亮,生成一條長度為三的蛇,初始方向向右移動。同時產(chǎn)生食物,初始化坐標(biāo)為(6,6)。成功吃到食物:增加一個節(jié)點并加一分,當(dāng)前得分為6分失敗提醒:彈出一個對話框,下一次開始又進(jìn)入初始化,并且分?jǐn)?shù)記零程序不足分析1)按鍵操作采用的是鼠標(biāo)點擊界面的方向鍵,達(dá)到蛇運動控制效果,而非通過鍵盤操作直接控制2)蛇形采用簡易的方塊,并沒有做到逼真的蛇形3)計分單一化,應(yīng)當(dāng)設(shè)置關(guān)卡,采用過關(guān)制,并且每一關(guān)的蛇移動速度會加快,從而增加游戲難度4)界面不夠美觀心得體會從學(xué)長那得知Labview這門課很重要,無論是以后繼續(xù)研究生,或是直接工作,對自己的幫助都很大。這個軟件的實用性很強(qiáng)啊,學(xué)好了用于實際中,可以省下很多不必要的工作。這門課的發(fā)展前景,即使我們在以后的工作中不在這方面發(fā)展,這門課留給我們的學(xué)習(xí)思想和技術(shù)技能都是很寶貴的。 Labview采用的是G語言,也就是圖形化語言,它不僅是一種編程環(huán)境,也是一門編程語言。Labview因為采用的是圖形化語言,比較適合于專業(yè)知識比較薄弱的學(xué)習(xí)者。Labview采用的編程思想和傳統(tǒng)C語言一樣,是嵌套,主函數(shù)包含子函數(shù)的思想。所以,當(dāng)要編寫比較大的程序時,整個結(jié)構(gòu)就顯得很大很復(fù)雜,編寫起來比較困難。同時感覺這是一門實踐性很強(qiáng)的課,很多知識是從上課聽老師講的,或是書上看來的,而且聽完、看完之后,自己還覺的不錯,覺得自己已經(jīng)掌握的很好了,但真到實際做東西的時候,就會覺得困難重重,這時再去查書,便有了對知識的更深層次的理解,其實在這方面更應(yīng)該感謝網(wǎng)絡(luò)給我們帶來的方便,有任何問題,上網(wǎng)搜一下,很多問題都可以迎刃而解,而且很多網(wǎng)友都有自己獨特的見解,在他們的討論中看到了很多有用的東西。在這次虛擬儀器設(shè)計過程中,遇到很多的困難,我通過上網(wǎng),加一些QQ群,論壇各種詢問,在這樣的努力下,終于實現(xiàn)了功能,我當(dāng)時特別興奮。學(xué)以促用,用以促學(xué),我們感覺這也是這門課教給我們的重要知識。帶著問題學(xué)習(xí)才能學(xué)到真正的知識。在這學(xué)期的學(xué)習(xí)中我們學(xué)到了很多,也認(rèn)識到我們需要學(xué)的東西更多,僅憑現(xiàn)在學(xué)到的東西是遠(yuǎn)遠(yuǎn)不夠的,要想在這方面作出一些成績,必須繼續(xù)學(xué)下去的,經(jīng)常練手做些小項目。 參考文獻(xiàn):【1】Labview程序設(shè)計基礎(chǔ)與提高(機(jī)械工業(yè)出版社張?zhí)m勇等編著)【2】Labview實踐教程(電子工業(yè)出版社RobertH.BishopNationalIstruments著)【2】Labview大學(xué)實用教程(中國工信出版社JefferyTravisJimKring著)基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點滴速度自動檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運動控制系統(tǒng)設(shè)計Pico專用單片機(jī)核的可測性設(shè)計研究基于MCS-51單片機(jī)的熱量計基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計與實現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報警系統(tǒng)設(shè)計基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實驗中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動譯碼系統(tǒng)設(shè)計與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機(jī)與Internet互聯(lián)的研究與實現(xiàn)變頻調(diào)速液壓電梯單片機(jī)控制器的研究基于單片機(jī)γ-免疫計數(shù)器自動換樣功能的研究與實現(xiàn)基于單片機(jī)的倒立擺控制系統(tǒng)設(shè)計與實現(xiàn)單片機(jī)嵌入式以太網(wǎng)防盜報警系統(tǒng)基于51單片機(jī)的嵌入式Internet系統(tǒng)的設(shè)計與實現(xiàn)單片機(jī)監(jiān)測系統(tǒng)在擠壓機(jī)上的應(yīng)用MSP430單片機(jī)在智能水表系統(tǒng)上的研究與應(yīng)用基于單片機(jī)的嵌入式系統(tǒng)中TCP/IP協(xié)議棧的實現(xiàn)與應(yīng)用單片機(jī)在高樓恒壓供水系統(tǒng)中的應(yīng)用基于ATmega16單片機(jī)的流量控制器的開發(fā)基于MSP430單片機(jī)的遠(yuǎn)程抄表系統(tǒng)及智能網(wǎng)絡(luò)水表的設(shè)計基于MSP430單片機(jī)具有數(shù)據(jù)存儲與回放功能的嵌入式電子血壓計的設(shè)計基于單片機(jī)的氨分解率檢測系統(tǒng)的研究與開發(fā)鍋爐的單片機(jī)控制系統(tǒng)基于單片機(jī)控制的電磁振動式播種控制系統(tǒng)的設(shè)計基于單片機(jī)技術(shù)的WDR-01型聚氨酯導(dǎo)熱系數(shù)測試儀的研制一種RISC結(jié)構(gòu)8位單片機(jī)的設(shè)計與實現(xiàn)HYPERLINK"/detail.htm?3899

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論