VB設(shè)計俄羅斯方塊論文_第1頁
VB設(shè)計俄羅斯方塊論文_第2頁
VB設(shè)計俄羅斯方塊論文_第3頁
VB設(shè)計俄羅斯方塊論文_第4頁
VB設(shè)計俄羅斯方塊論文_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 1 頁前前 言言visual basic 繼承了 basic 語言易學(xué)易用的特點,特別適合于初學(xué)者學(xué)習(xí) windows 系統(tǒng)編程。隨著 21 世紀信息社會的到來,計算機在人們的工作和生活中的深入,要求我們越來越多地與計算機打交道,為了使用戶在繁忙的日程工作中得到放松,于是出現(xiàn)了各種各樣的休閑軟件,如聊天工具,游戲等等。于是我們小組著手設(shè)計開始一個這樣的游戲軟件。通過這學(xué)期來 Visual Basic 的學(xué)習(xí),我初步掌握了 Visual Basic 語言的最基本的知識,于是在化希耀張兵等老師的指導(dǎo)下動手用 Visual Basic 編寫俄羅斯方塊游戲。無可爭議,

2、 俄羅斯方塊是有史以來最偉大的游戲之一。它是永恒的娛樂經(jīng)典,但它實際上又和那些傳統(tǒng)的經(jīng)典娛樂方式不同,因為它的本質(zhì)是電子化的,所以它的確屬于現(xiàn)代產(chǎn)物。 俄羅斯方塊舉世聞名的游戲性,在該游戲新鮮出爐時就顯得非常直觀。某些與墜落的玩具碎片和它們的形狀有關(guān)的東西,使得哪怕新手也會很自然地企圖把它們排列起來,并加以適當(dāng)組合,就好似俄羅斯方塊觸動了我們某些內(nèi)在的感官,使得哪怕是我們當(dāng)中最雜亂無章的人也要把事情整理妥當(dāng)。 在曾經(jīng)發(fā)布過的所有游戲中, 俄羅斯方塊還被認為是僅有的一個能夠真正吸引廣泛人群的作品。某些批評家也許會聲稱, 俄羅斯方塊要比過去二十年間出現(xiàn)的任何東西都要浪費人們的時間。至于我們,則要欣

3、然提名它為 GameSpot 評選出的歷史上最偉大游戲之一。為了懷念經(jīng)典,也為了能夠給大多的計算機用戶在工作之余找到一個休閑、娛樂的一個方式,我們小組開始著手用 VB 語言開發(fā)一個經(jīng)典的俄羅斯方塊游戲。工程概況工程概況1.1 項目名稱俄羅斯方塊游戲1.2 設(shè)計平臺VB 全稱 Visual Basic,它是以 Basic 語言作為其基本語言的一種可視化編程工具。Vb 是 microsoft 公司于 1991 年退出的 windows 應(yīng)用程序開發(fā)工具 visual 意思是“可視化的” 。在它剛推出來時,自身還存在一些缺陷,功能也相對少一些。但是經(jīng)過多年的開發(fā)研究。最近 microsoft 公司又

4、推出了 VB6.0 版本VB6.0 運行環(huán)境:硬件,要求 486 以上的處理器、16MB 以上內(nèi)存,50MB 以上的硬盤,cd-rom 驅(qū)動器,鼠標(biāo)。軟件:要求 windows 95 以上版本。1.3 程序設(shè)計思想游戲是用來給大家娛樂的,所以要能在使用的過程中給大家?guī)砜鞓?,消除大家的疲勞,所以我們在游戲中添加了漂亮的場景和動聽的音樂,設(shè)置了過關(guān)升級的功能,激發(fā)大家的娛樂激情。從游戲的基本玩法出發(fā),主要就是俄羅斯方塊的形狀和旋轉(zhuǎn),我們在設(shè)計中在一個圖片框中構(gòu)造了一個 4*4 的網(wǎng)狀小塊,由這些小塊組合成新的形狀,每四個小塊連接在一起就可以構(gòu)造出一種造型,因此我們總共設(shè)計了 7 中造型,每種造型

5、又可以通過旋轉(zhuǎn)而變化出 2 到 4 種形狀,利用隨機函數(shù)在一個預(yù)覽窗體中提前展示形狀供用戶參考,然后將展示塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 2 頁的形狀復(fù)制到游戲窗體中進行擺放,在游戲窗體中用戶就可以使用鍵盤的方向鍵來控制方塊的運動,然后利用遞歸語句對每一行進行判斷,如果有某行的方塊是滿的,則消除這行的方塊,并且使上面的方塊自由下落,其中,方塊向下的速度是有時鐘控件控制的,在游戲中,用戶也可以使用向下鍵加快下落速度,定義一個變量,對消除的函數(shù)進行記錄,最后就可以得出用戶的分數(shù),用 if 語句對分數(shù)判斷,達到一定的積分就可以升級到下一個檔次。俄羅斯方塊游戲設(shè)計的主要步驟為以下 10 個方面:(1

6、)游戲界面的設(shè)計。(2)俄羅斯方塊的造型。(3)俄羅斯方塊的旋轉(zhuǎn)。(4)俄羅斯方塊的運動情況(包括向左,向右和向下) 。(5)俄羅斯方塊的自動消行功能。(6)游戲級別的自由選擇。(7)游戲速度的自由選擇。(8)游戲得分的計算。(9)游戲菜單選項的設(shè)計及功能實現(xiàn)。(10)游戲的背景音樂。1.4 運用的控件和主要對象我們在設(shè)計過程中主要用到的控件有:command 控件,image 控件,picture 控件,label 控件,timer 控件,text 控件,windows media player 控件等等。1.5 主要實現(xiàn)的功能我們開發(fā)的俄羅斯方塊游戲,主要實現(xiàn)了以下幾種功能:1.可以靈活控

7、制方塊在圖形框中運動。2.游戲過程中方塊可以自由旋轉(zhuǎn)。3.當(dāng)某一行的方塊排列滿時,將自動將這一行方塊消除,然后將上面所有方塊向下移動,可以支持連續(xù)消行。4.游戲前可以選擇游戲的速度和游戲的等級,游戲速度既為方塊下落速度,游戲等級為初始游戲時在基層隨機生成一定行數(shù)的無規(guī)律方塊,生成的行數(shù)由你來選擇,每行至少產(chǎn)生 5 個以上的無規(guī)律方塊,這樣增加了游戲難度,對于游戲高手來說,無疑不是一個新的挑戰(zhàn)。5.游戲的得分支持積分,并且按照公式:得分 = 原來分數(shù)+ 100 * (2 同時消除的行數(shù)-1) 這樣,你同一時間消除的行數(shù)越多,你的得分也就越高,當(dāng)游戲積分到了一定時可以自動升級,這個升級指速度升級。

8、 6.游戲中提供了一個漂亮的場景和動聽的音樂,給你帶來無限激情。1.6 開發(fā)人員與分工組長李虎同學(xué)所做工作如下: (1)俄羅斯方塊的旋轉(zhuǎn)。 (2)俄羅斯方塊的運動情況。 (3)俄羅斯方塊的自動消行功能。 (4)游戲得分的計算。塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 3 頁 (5)游戲菜單選項的設(shè)計及功能實現(xiàn)。副組長王志偉同學(xué)所做工作如下: (1)游戲界面的設(shè)計。 (2)俄羅斯方塊的造型。 (3)游戲級別的自由選擇。 (4)游戲速度的自由選擇。 (5)游戲的背景音樂。 正文正文2.1 游戲設(shè)計的具體實現(xiàn)在我們兩個人共同努力下,此次設(shè)計,終于能夠圓滿完成。由于時間的緊促,在設(shè)計中,也許會有一些考慮不周之

9、處,但其功能已經(jīng)能夠滿足大多用戶的需求,相信假以時日,一定能做出一個更經(jīng)典,更完美的俄羅斯方塊游戲,下面我們將對每一步的具體如何實現(xiàn)展示給大家。2.1.1 游戲界面的設(shè)計和背景音樂及特效的實現(xiàn)俄羅斯方塊游戲主要由兩個界面構(gòu)成,登陸界面和開始游戲界面。游戲的背景音樂是由一段代碼調(diào)用系統(tǒng)播放器 Windows Player 播放背景音樂,由于本次設(shè)計主要是針對游戲如何設(shè)計的,所以在這里就不對播放背景音樂的功能做介紹了。2.1.2 俄羅斯方塊的造型相信朋友們都玩過俄羅斯方塊,對這個游戲的玩法和方塊形狀都比較熟悉。我們這個游戲只選擇了最基本的 7 中造型,包括長條型,正方型,正 S 型,反 S 型,正

10、 7 型,反 7型,T 型。如果需要我們可以添加更多的造型。將游戲界面的游戲區(qū)圖片框分割成 10*20的小塊,每個小塊放置一個 command 控件,預(yù)覽區(qū)圖片框按同樣比例分割成 4*4 的小塊,同樣有 command 控件構(gòu)成,我們可以把預(yù)覽區(qū)圖片框看作是從游戲區(qū)圖片框中選取的一個部分,游戲區(qū)的小方塊編號和預(yù)覽區(qū)編號如下圖: 012345678990919293949596979899 游戲區(qū)編號 預(yù)覽區(qū)編號 利用 Select 將方塊的 7 中造型列出,比如長條型的設(shè)計,在欲覽區(qū)中分別有 和 5 四個方塊構(gòu)成兩中形態(tài),用數(shù)組為: m(0) = 3: m(1)

11、 = 4: m(2) = 5: m(3) = 6: situation2 = 0m(0) = 5: m(1) = 15: m(2) = 25: m(3) = 35: situation2 = 1將它的形狀編號為 0 和 1,在后面方便調(diào)用,其他的方塊造型同樣的方法。2.1.3 俄羅斯方塊的旋轉(zhuǎn)俄羅斯方塊的旋轉(zhuǎn)主要將方塊的位置加以變換得到的,例如上述范例,長條型有兩中樣式,根據(jù)小方塊的編號變動來實現(xiàn)整個造型的旋轉(zhuǎn),比如:If n(0) - 18 = 2 And n(3) + 9 = 0.5 Then cmdfang(j).Visible = True Next Next可以根據(jù)你選擇的難度系數(shù)在

12、底層的每一行隨機產(chǎn)生超過半數(shù)(即 5 個以上)以上的小方塊,這樣適合喜歡高難度的玩家。2.1.6 游戲得分的計算和游戲菜單的編輯游戲得分的計算主要是根據(jù)消除的行數(shù)來決定的,當(dāng)然每一次同時消除的行數(shù)不一樣,每一行的得分也不一樣,如果你每次消除的行數(shù)為 1,則最后得分是 100 分,如果同時消除 2 行,則最后得分是 300 分,同時消除 3 行,得分為 700 分,同時消除 4 行,得分為1500 分,這由公式:得分 = 原來分數(shù)+ 100 * (2 同時消除的行數(shù)-1)。游戲的編輯,讀者可以參照下面的功能介紹。2.2 游戲功能的介紹文件 F-開始 F1:開始游戲。 繼續(xù) F2:繼續(xù)游戲。 暫停

13、 F3:暫時停止游戲,點擊繼續(xù)的時候可以繼續(xù)游戲。 退出 Ctrl+Q:退出游戲。設(shè)置-選擇游戲級別。 選擇游戲速度。考驗-顯示 F5:顯示欲覽區(qū)方塊。 隱藏 F6:隱藏欲覽區(qū)方塊。幫助-操作提示以及版本信息和作者資料。塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 6 頁用戶界面具體如圖: 圖登陸界面 圖游戲界面 圖菜單編輯界面 圖游戲幫助界面 有關(guān)說明有關(guān)說明經(jīng)過兩個多星期的設(shè)計和開發(fā),俄羅斯方塊游戲已經(jīng)成功。其功能基本符合用戶需求,能夠完成游戲的控制,方塊的變換以及消層等功能。并提供游戲設(shè)置,對于一些技術(shù)性比較過硬的玩家,可以調(diào)游戲級別、以及游戲速度,使得玩家能夠充分的發(fā)揮競技游戲的特色,可以不斷的挑

14、戰(zhàn)自我,挑戰(zhàn)極限。3.1 游戲設(shè)計中的不足之處但是由于課程設(shè)計時間較短,所以該游戲還有許多不盡如人意的地方,比如方塊類型太少,退出游戲不能存儲進度等多方面問題。這些都有待進一步改善,我們在游戲中還可塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 7 頁以更換背景音樂,以適合不同的玩家,在每通過一關(guān)可以給玩家播放一段 flash,吸引玩家去挑戰(zhàn)極限,不斷提高玩家的興趣,相信在以后的制作過程中我們將給大家?guī)硪粋€更新功能更全面的游戲。3.2 VB 與 C 語言之間的不同之處我們這個小游戲也可以用 C 語言來實現(xiàn),在程序的編程上沒有 VB 語言方便實用,C 語言和 VB 語言之間存在很多的共同點,雖然語法方面有點

15、差異,但是在編程思路上完全一樣,VB 能夠?qū)崿F(xiàn)很多 C#不能做到的功能,如 When 語句、Optional 參數(shù)、局部 Static 變量、對象實例訪問靜態(tài)方法、Handles 綁定事件、On Error 處理異常、Object 直接后期綁定等等。VB 和 C#語言,編譯出來的是同樣的 CIL,但為什么 VB 支持很多有趣的特性呢。我們一起來探究一下。3.2.1 局部靜態(tài)變量VB 支持用 Static 關(guān)鍵字聲明局部變量,這樣在過程結(jié)束的時候可以保持變量的數(shù)值:Public Sub Test1() StaticStatic i i AsAs IntegerInteger i += 1 實現(xiàn)一

16、個過程調(diào)用計數(shù)器End Sub我們實現(xiàn)了一個簡單的過程計數(shù)器。每調(diào)用一次 Test,計數(shù)器的數(shù)值就增加 1。其實還有很多情況我們希望保持變量的數(shù)值。而 C#的 static 是不能用在過程內(nèi)部的。因此要實現(xiàn)過程計數(shù)器,我們必須聲明一個類級別的變量。這樣做明顯不如 VB 好。因為無法防止其他過程修改計數(shù)器變量。這就和對象封裝一個道理,本來應(yīng)該是一個方法的局部變量,現(xiàn)在我要被迫把它獨立出來,顯然是不好的設(shè)計。那么 VB 是怎么生成局部靜態(tài)變量的呢?將上述代碼返匯編,我們可以清楚地看到在 VB 生成的 CIL 中,i 不是作為局部變量,而是作為類的 Field 出現(xiàn)的: .field private

17、 specialname int32 $STATIC$Test1$2001$i也就是說,i 被改名作為一個類的字段,但被冠以 specialname。在代碼中試圖訪問$STATIC$Test1$2001$i 是不可能的,因為它不是一個有效的標(biāo)識符。但是在 IL 中,將這個變量加一的代碼卻與一般的類字段完全一樣,是通過 ldfld 加載的。我覺得這個方法十分聰明,把靜態(tài)變量變成生命周期一樣的類字段,但是又由編譯器來控制訪問的權(quán)限,讓它成為一個局部變量。同時也解釋了 VB 為什么要用兩個不同的關(guān)鍵字來聲明靜態(tài)變量Static 和 Shared。由于局部靜態(tài)變量的實質(zhì)是類的字段,所以它和真正的局部變

18、量還是有所不同的。比如在多線程條件下,對局部靜態(tài)變量的訪問就和訪問字段相同。3.2.2 Handles 和 WithEventsVB 除了可以用 C#那樣的方法來處理事件響應(yīng)以外,還有從 VB5 繼承下來的獨特的事件處理方式WithEvents。我喜歡稱這種事件處理方式為靜態(tài)的事件處理,書寫響應(yīng)事件的方法時就已經(jīng)決定該方法響應(yīng)的是哪一個事件,而 C#則是在代碼中綁定事件的。VB 中 WithEvents 靜態(tài)方法是非常有用的,它可以顯著增強代碼可讀性,同時也讓 VB.net 中的事件處理非常方便,不像C#那樣離開了窗體設(shè)計器就必須手工綁定事件。3.2.3 類型轉(zhuǎn)換運算符在 Visual Bas

19、ic 2005 中將加入一個新的運算符TryCast,相當(dāng)于 C#的 as 運算符。我一直希望 VB 有這樣一個運算符。VB 目前的類型轉(zhuǎn)換運算符主要有 CType 和DirectCast。他們的用法幾乎一樣。我詳細比較了一下這兩個運算符,得出以下結(jié)論:塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 8 頁1.在轉(zhuǎn)換成引用類型時,兩者沒有什么區(qū)別,都是直接調(diào)用 castclass 指令,除非重載了類型轉(zhuǎn)換運算符 CType。DirectCast 運算符是不能重載的。2.轉(zhuǎn)換成值類型時,CType 會調(diào)用 VB 指定的類型轉(zhuǎn)換函數(shù)(如果有的話) ,比如將String 轉(zhuǎn)換為 Int32 時,就會自動調(diào)用。3.

20、2.4 默認屬性和屬性參數(shù)在原先的 VB6 里,有一項奇特的功能默認屬性。在 VB6 中,對象的名稱可以直接表示該對象的默認屬性。3.2.5 可選參數(shù)和按名傳遞VB 從 4.0 開始支持“可選參數(shù)”這一特性。就是說,函數(shù)或子程序的參數(shù)有些是可選的,調(diào)用的時候可以不輸入。其實 VB 從 1.0 開始就有一些函數(shù)帶有可選參數(shù),只不過到了4.0 才讓用戶自己開發(fā)這樣的過程。在 VB4 里,可選參數(shù)可以不帶默認值,而在 VB 里,如果使用可選參數(shù),則必須帶有默認值。在調(diào)用的時候,VB 若發(fā)現(xiàn)參數(shù)被省略,則自動讀取.param 部分的默認值,并顯式傳遞給過程。這一部分完全由編譯器處理,而且沒有任何性能損

21、失,和手工傳遞所有參數(shù)是完全一樣的。至于按名傳遞,VB 會自動調(diào)整參數(shù)的順序,其結(jié)果與傳統(tǒng)方式的傳遞也沒有任何的不同。這說明我們可以放心地使用這項便利。而且?guī)в锌蛇x參數(shù)的過程拿到 C#中,頂多變成不可選參數(shù),也不會造成什么其他的麻煩。 PS.很多 COM 組件都使用了默認參數(shù),而且有些過程的參數(shù)列表非常長,在 VB 里可以輕松地處理它們,而在 C#中經(jīng)常讓開發(fā)者傳參數(shù)傳到吐血。致謝致謝在本次課程設(shè)計中,我從指導(dǎo)老師化希耀和張兵身上學(xué)到了很多東西。老師認真負責(zé)的工作態(tài)度,嚴謹?shù)闹螌W(xué)精神和深厚的理論水平都使我收益匪淺。他無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高這對于我以后的

22、工作和學(xué)習(xí)都有一種巨大的幫助,感謝他耐心的輔導(dǎo)。另外,在游戲開發(fā)過程中許多同學(xué)也給于我們很大的幫助,幫助解決了不少的難點,使得游戲能及時開發(fā)完成,在此謝謝各位對此次設(shè)計的幫助。參考文獻參考文獻:1龔沛曾,陸慰民,楊志強.Vsual Basic 程序設(shè)計教程.高等教育出版社出版。2劉新民,蔡瓊,白糠生.Vsual Basic 6.0 程序設(shè)計.清華大學(xué)出版社出版。3唐凱軍,湯惠莉.VB6 編程 80 例上手.山東電子音像出版社。4盧毅.Vsual Basic 實例教程.科學(xué)出版社出版。5趙欣勝,亢慧娟,劉晟宏.Vsual Basic 經(jīng)典范例 50 講.科學(xué)出版社出版。塔里木大學(xué)信息工程學(xué)院課程

23、設(shè)計第 9 頁附件:附件:Private Sub hidefang(a As Integer) 定義使方塊不可見的過程 Select Case a Case 0 a0 使游戲區(qū)方塊不可見 cmdfang(n(0).Visible = False cmdfang(n(1).Visible = False cmdfang(n(2).Visible = False cmdfang(n(3).Visible = False Case 1 a1 使預(yù)覽區(qū)方塊不可見 cmdfangnext(m(0).Visible = False cmdfangnext(m(1).Visible = False cmdf

24、angnext(m(2).Visible = False cmdfangnext(m(3).Visible = False End SelectEnd SubPrivate Sub showfang(a As Integer) 定義使方塊可見的過程 Select Case a Case 0 a0 使游戲區(qū)方塊可見 cmdfang(n(0).Visible = True cmdfang(n(1).Visible = True cmdfang(n(2).Visible = True cmdfang(n(3).Visible = True Case 1 a1 使預(yù)覽區(qū)方塊不可見 cmdfangnex

25、t(m(0).Visible = True cmdfangnext(m(1).Visible = True cmdfangnext(m(2).Visible = True cmdfangnext(m(3).Visible = True End SelectEnd SubPrivate Sub clearline() 定義消除整行的過程 For i = 190 To 10 Step -10 If cmdfang(i).Visible = True And _ cmdfang(i + 1).Visible = True And _ cmdfang(i + 2).Visible = True And

26、 _ cmdfang(i + 3).Visible = True And _ cmdfang(i + 4).Visible = True And _ cmdfang(i + 5).Visible = True And _ cmdfang(i + 6).Visible = True And _ cmdfang(i + 7).Visible = True And _ cmdfang(i + 8).Visible = True And _塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 10 頁 cmdfang(i + 9).Visible = True Then For j = i + 4 To i Step -

27、1 t = 1 cmdfang(j).Visible = False cmdfang(2 * i + 9 - j).Visible = False For k = 1 To 4000 DoEvents Next t = 0 Next linenum = linenum + 1 For j = i - 1 To 0 Step -1 If cmdfang(j).Visible = True Then cmdfang(j).Visible = False cmdfang(j + 10).Visible = True End If Next clearline 為了實現(xiàn)連消數(shù)行,這里使用遞歸調(diào)用 En

28、d If NextEnd SubPrivate Function downable() As Boolean 自定義函數(shù),確定方塊是否能下降 If n(0) 190 And n(1) 190 And n(2) 190 And n(3) 190 Then If cmdfang(n(0) + 10).Visible = False And _ cmdfang(n(1) + 10).Visible = False And _ cmdfang(n(2) + 10).Visible = False And _ cmdfang(n(3) + 10).Visible = False Then downabl

29、e = True Else: downable = False End If Else: downable = False End IfEnd FunctionPrivate Function leftable() As Boolean 自定義函數(shù),確定方塊是否能左移If n(0) Mod 10 0 And n(1) Mod 10 0 And n(2) Mod 10 0 And n(3) Mod 10 0Then If cmdfang(n(0) - 1).Visible = False And _ cmdfang(n(1) - 1).Visible = False And _ cmdfang(

30、n(2) - 1).Visible = False And _ cmdfang(n(3) - 1).Visible = False Then leftable = True Else: leftable = False End If塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 11 頁 Else: leftable = False End IfEnd FunctionPrivate Function rightable() As Boolean 自定義函數(shù),確定方塊是否能右移 If n(0) Mod 10 9 And n(1) Mod 10 9 And n(2) Mod 10 9 And n(3) Mod

31、 10 9Then If cmdfang(n(0) + 1).Visible = False And _ cmdfang(n(1) + 1).Visible = False And _ cmdfang(n(2) + 1).Visible = False And _ cmdfang(n(3) + 1).Visible = False Then rightable = True Else: rightable = False End If Else: rightable = False End IfEnd Function 塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 12 頁目錄目錄前前 言言.1工程概況工

32、程概況.11.1 項目名稱.11.2 設(shè)計平臺.11.3 程序設(shè)計思想.11.4 運用的控件和主要對象.21.5 主要實現(xiàn)的功能.21.6 開發(fā)人員與分工.2正文正文.32.1 游戲設(shè)計的具體實現(xiàn).32.1.1 游戲界面的設(shè)計和背景音樂及特效的實現(xiàn).32.1.2 俄羅斯方塊的造型.32.1.3 俄羅斯方塊的旋轉(zhuǎn).32.1.4 如何實現(xiàn)方塊的運動和自動消除滿行的方塊.42.1.5 游戲速度和游戲級別自由選擇.52.1.6 游戲得分的計算和游戲菜單的編輯.52.2 游戲功能的介紹.5有關(guān)說明有關(guān)說明.63.1 游戲設(shè)計中的不足之處.63.2 VB 與 C 語言之間的不同之處.73.2.1 局部靜態(tài)

33、變量.73.2.2 Handles 和 WithEvents.73.2.3 類型轉(zhuǎn)換運算符.73.2.4 默認屬性和屬性參數(shù).83.2.5 可選參數(shù)和按名傳遞.8致謝致謝.8參考文獻:參考文獻:.8附件:附件:.9塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 13 頁VB 游戲設(shè)計制作游戲設(shè)計制作-制作俄羅斯方塊的設(shè)計與實現(xiàn)制作俄羅斯方塊的設(shè)計與實現(xiàn)時間:2010-10-13 23:49來源:未知 作者:admin 我要投稿 目 錄 1.課程大作業(yè)目的 . 1 1.1 課程大作業(yè)設(shè)計的目的 . 1 1.2 VB 在實際生活的應(yīng)用 . 1 2.課程大作業(yè)題目描客服咨詢,三七畢業(yè)設(shè)計論文網(wǎng)竭誠為您服務(wù),本站永

34、久域名: 目目 錄錄 1.課程大作業(yè)目的課程大作業(yè)目的. 11.1 課程大作業(yè)設(shè)計的目的. 11.2 VB 在實際生活的應(yīng)用. 1 2.課程大作業(yè)題目描述和要求課程大作業(yè)題目描述和要求. 12.1 俄羅斯方塊的題目描述. 12.2 俄羅斯方塊設(shè)計思想. 1 3.課程大作業(yè)報告內(nèi)容課程大作業(yè)報告內(nèi)容. 23.1 界面設(shè)計. 33.2 俄羅斯方塊的功能實現(xiàn). 3 4.總結(jié)總結(jié). 6 1.課程大作業(yè)目的課程大作業(yè)目的1.2 VB 課程大作業(yè)設(shè)計的目的本課程設(shè)計以程序設(shè)計簡明教程課程為基礎(chǔ),目的是進一步培養(yǎng)學(xué)生綜合應(yīng)用 VB 的各種編程知識和技塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 14 頁巧進行程序設(shè)計的

35、能力。通過課程設(shè)計,學(xué)生能達到具備設(shè)計功能較為復(fù)雜的 Windows 應(yīng)用程序的能力。同時,通過課程設(shè)計,培養(yǎng)學(xué)生自主學(xué)習(xí)和獨立創(chuàng)新的精神,是人才培養(yǎng)體系中極為重要的一環(huán)1.2 VB 在實際生活中的應(yīng)用Visual Basic(簡稱 VB)程序設(shè)計語言的基本概念和語法結(jié)構(gòu)以及常用控件的使用,并通過大量的例子介紹 VB 程序設(shè)計的方法和技巧,內(nèi)容包括:VB 程序設(shè)計基礎(chǔ)、對象及 VB 應(yīng)用程序的建立、數(shù)據(jù)的輸入與輸出、基本的控制結(jié)構(gòu)、數(shù)組和過程的程序設(shè)計、常用控件的使用、界面設(shè)計、圖形操作、文件、數(shù)據(jù)庫技術(shù)等.在這些內(nèi)容的講解中,堅持語言為程序設(shè)計服務(wù)的原則,注重實用性. 在教學(xué)的安排上,采用由

36、淺到深、循序漸進的結(jié)構(gòu),做到通俗易懂,既有針對初學(xué)者的基本知識的介紹,也有針對已經(jīng)掌握 VB 程序基本設(shè)計方法的學(xué)生對高層次內(nèi)容的要求,將程序設(shè)計語言、可視化的面向?qū)ο缶幊碳夹g(shù)、上機訓(xùn)練有機地融為一體.突出 VB 的基本語法、編程方法的訓(xùn)練,讓學(xué)生學(xué)會分析問題并快速掌握面向?qū)ο蟮某绦?、界面設(shè)計、數(shù)據(jù)庫技術(shù)的設(shè)計技巧,培養(yǎng)學(xué)生的動手能力和開發(fā)應(yīng)用程序的能力 2.課程大作業(yè)題目描述和要求課程大作業(yè)題目描述和要求2.1 俄羅斯方塊的題目的描述俄羅斯方塊的題目的描述 1. 運行游戲時.界面隨機的產(chǎn)生不同形狀的方塊,游戲者通過自己的操作使方塊進行合理的堆積.如果每層達到飽合狀態(tài)的時候會自動消除.然后游戲

37、有規(guī)則的進行加分.分數(shù)達到一定的階段.游戲的級別也會越來越高.然后方塊下降的速度也會隨之慢慢加快.以迎合游戲者的挑戰(zhàn),達到最加有趣的游戲! 2.2 俄羅斯方塊的設(shè)計思想俄羅斯方塊的設(shè)計思想 游戲是用來給大家娛樂的,所以要能在使用的過程中給大家?guī)砜鞓?,消除大家的疲勞,所以我們在游戲中添加了漂亮的場景和動聽的音樂,設(shè)置了過關(guān)升級的功能,激發(fā)大家的娛樂激情。從游戲的基本玩法出發(fā),主要就是俄羅斯方塊的形狀和旋轉(zhuǎn),我們在設(shè)計中在一個圖片框中構(gòu)造了一個 4*4的網(wǎng)狀小塊,由這些小塊組合成新的形狀,每四個小塊連接在一起就可以構(gòu)造出一種造型,因此我們總共設(shè)計了 7 中造型,每種造型又可以通過旋轉(zhuǎn)而變化出 2

38、 到 4 種形狀,利用隨機函數(shù)在一個欲覽窗體中提前展示形狀供用戶參考,然后將展示的形狀復(fù)制到游戲窗體中進行擺放,在游戲窗體中用戶就可以使用鍵盤的方向鍵來控制方塊的運動,然后利用遞歸語句對每一行進行判斷,如果有某行的方塊是滿的,則消除這行的方塊,并且使上面的方塊自由下落,其中,方塊向下的速度是有時鐘控件控制的,在游戲中,用戶也可以使用向下鍵加快下落速度,定義一個變量,對消除的函數(shù)進行記錄,最后就可以得出用戶的分數(shù),用 if 語句對分數(shù)判斷,達到一定的積分就可以升級到下一個檔次。俄羅斯方塊游戲設(shè)計的主要步驟為以下幾個方面:(1)游戲界面的設(shè)計。(2)俄羅斯方塊的造型。(3)俄羅斯方塊的旋轉(zhuǎn)。(4)

39、俄羅斯方塊的運動情況(包括向左,向右和向下) 。(5)俄羅斯方塊的自動消行功能。(6)游戲級別的自由選擇。(7)游戲速度的自由選擇。(8)游戲得分的計算。塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 15 頁(9)游戲菜單選項的設(shè)計及功能實現(xiàn)。 3.課程大作業(yè)報告內(nèi)容課程大作業(yè)報告內(nèi)容 3.1 俄羅斯方塊的界面設(shè)計俄羅斯方塊的界面設(shè)計界面是以自己的照片為背景然后一個游戲方框和一個游戲輔助方框,再加上一些游戲所需的開始、暫停、退出等按鈕 3.2 俄羅斯方塊的功能的實現(xiàn)俄羅斯方塊的功能的實現(xiàn)1)Enabled = 0 False Height = 480 Left = 4680 MouseIcon = 方塊.

40、frx:BF74 MousePointer = 99 Custom Picture = 方塊.frx:C3B6 ToolTipText = 續(xù)繼 CTRL+J Top = 2475 Visible = 0 False Width = 480 End以上的代碼來實現(xiàn)繼續(xù)功能2)Begin VB.Image Image9 Height = 480 Left = 5880 MouseIcon = 方塊.frx:B960 MousePointer = 99 Custom Picture = 方塊.frx:BC6A ToolTipText = 退出 CTRL+X Top = 2475 Width = 4

41、80以上的程序代碼實現(xiàn)退出功能3)Private Sub Image3_Click()OPE_Click End Sub以上的程序代碼實現(xiàn)“開始”功能4)Private Sub Image8_Click()Gotog_ClickEnd Sub以上的程序代碼實現(xiàn)“暫停/繼續(xù)”功能5)Private Sub Image7_Click()ENDG_Click塔里木大學(xué)信息工程學(xué)院課程設(shè)計第 16 頁End Sub以上的程序代碼實現(xiàn)“停止”功能6)Private Sub Image9_Click()Exite_ClickEnd Sub以上的程序代碼實現(xiàn)“退出”功能7)Private Sub Image5_Click()If jB 1 ThenImage6.Enabled = TrueImage6.Visible = True減.Enabled = True減.Visible = TrueElse

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論