VB課程設計益智類算數(shù)小游戲_第1頁
VB課程設計益智類算數(shù)小游戲_第2頁
VB課程設計益智類算數(shù)小游戲_第3頁
VB課程設計益智類算數(shù)小游戲_第4頁
VB課程設計益智類算數(shù)小游戲_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、吉林工程技術師范學院vb課程設計設計題目: 益智類算數(shù)小游戲 專 業(yè): 信息管理與信息系統(tǒng) 班 級: x0841 學 號: 33 學生姓名: 劉忠宇 指導教師: 孟宇橋 高汝儀 2010年7月信息工程學院目 錄摘 要 : 02第 一章 緒 論 03第二章 系統(tǒng)分析 04第三章 總體設計 06第四章 編碼實現(xiàn) 07第五章 調(diào)試與測試10總結: 14附錄:1源代碼 162參考資料 34摘要隨著軟件技術以及互聯(lián)網(wǎng)技術的不斷發(fā)展,游戲產(chǎn)業(yè)發(fā)展迅速,已經(jīng)成為經(jīng)濟增民的一個亮點。實踐是軟件開發(fā)的核心,對代碼要求精益求精,在開發(fā)的過程中,簡單設計,用測試驅(qū)動,通過重構和迭代代碼實現(xiàn)設計。visual bas

2、ic,其中主要地介紹了visual basic 6.0,以及visual basic的編程環(huán)境。同時通過小游戲簡單介紹了利用visual basic 6.0開發(fā)游戲的處理過程。主要介紹了24點游戲的開發(fā),包括界面的設計和相應的界面設計原則,還介紹了其開發(fā)環(huán)境。同時也對游戲系統(tǒng)的公共功能模塊做了闡述。通過對該課題的研究設計,對如何運用visual basic來設計游戲有了一定程度的了解,并對如何設計游戲的構架有所掌握。關鍵詞:編程 visual basic 模塊 算法第一章 緒論 可視化前臺編程的思想應用于軟件開發(fā)過程中,指導開發(fā)活動的系統(tǒng)方法,它吸取了結構化程序設計的精華,以更接近人們通常思維

3、的方式來處理問題,是一種全新的軟件開發(fā)技術。作為一種編程語言,visual basic很大程度推廣了可視化窗體思想。隨著計算機技術的發(fā)展,vb.net的強大展現(xiàn)出它不可替代的作用,vb的功能不僅體現(xiàn)在網(wǎng)絡方面的應用,對于應用程序設計、游戲設計等都能滿足需求。本文針對的具體應用,設計了vb一個小游戲。根據(jù)游戲的規(guī)則,用戶將可以和計算機進行簡單對戰(zhàn)。程序?qū)崿F(xiàn)了友好的用戶交互界面,讓用戶能很好地對游戲進行操作 計算機技術的應用正在朝著網(wǎng)絡化的方向闊步前進。vb為其提供了簡便并且功能強大的編程接口。開發(fā)人員生成獨立于平臺的應用程序,用vb編寫的程序可以在許多硬件平臺上運行而不需要重新編譯。 vb最強大

4、的是網(wǎng)絡方面的應用,本課程設計不涉及網(wǎng)絡方面的應用。第二章 系統(tǒng)分析 程序用到了很多有關vb.net的語法:msgbox(prompt,buttons,title)方法,這個方法主要用于彈出消息框,在這個程序中,你會經(jīng)常看到這樣的語法,主要用于提示玩家相關的信息。prompt:消息框中的提示信息。enabled語句,這個語句在程序里主要是用于控制按鈕,標簽等控件是否可用。val語句,這個語句主要用于類型轉(zhuǎn)換,textbox.text只支持字符串格式,而加、減、乘、除等的運算需要時數(shù)字才可以,所以要通過val將字符串類型轉(zhuǎn)換為數(shù)字類型,讓后進行運算。buttons。顯示按鈕,是個枚舉類型msgb

5、oxstyle值。用來控制在對話框內(nèi)顯示的按鈕類型、數(shù)目及圖標樣式。title。消息框的標題。若省略,則默認為當前的應用程序的名稱。 trycatchend try語句。 這是個異常處理的語法,在本程序中主要用于判斷玩家輸入的是否為字母,如果是字母或者是不正確的數(shù)字,則會被該語句捕捉到錯誤,然后拋出異常。 tostring語法 該語法主要用于類型轉(zhuǎn)換。在次程序中,類似于x,n之類的數(shù)字類型變量無法被label.text的字符串類型接受,所以需要用到該語法進行強制的類型轉(zhuǎn)換,將數(shù)字類型轉(zhuǎn)換為字符串類型。 inputbox(prompt,title,default,xposypos)(1) pro

6、mpt。輸入框中的提示文字。(2) title。輸入框的標題。(3) default。顯示在輸入文本框中的默認內(nèi)容,省略則顯示空串。(4) xpos。指定對話框左邊界和屏幕左邊界的間距。省略時對話框位于水平方向中心。(5) ypos。指定對話框上邊界和屏幕上邊界的間距。省略時對話框位于豎直方向,大約在屏幕上邊界往下三分之一的地方if else語法主要用語判斷玩家的余額和輸入的數(shù)字是否超出規(guī)定的范圍。me.width的意思是該窗體的寬度。在此程序中主要是調(diào)整歡迎語句的位置。backcolor 用于改邊背景顏色。此程序主要用來改變標簽的背景顏色。在此程序中我用到了rnd()方法,它的功能主要是在0

7、到1之間隨機的生成個小數(shù),再通過int()方法強制轉(zhuǎn)換為整型,就實現(xiàn)了所有數(shù)字的隨機產(chǎn)生。在設計sub過程的時候,考慮到簡單明了,sub開始 end sub 結束方法都是在默認屬性中創(chuàng)建和實現(xiàn)的。我們設計的優(yōu)點是:條理清晰,容易理解,容易修改。第三章 總體設計一對form1 窗體的設定,在窗體中添加lablebox,button按鈕的添加,及對整個界面布局!二 在相應的控件中添加程序,在 button1中賦予點擊按鈕將加號給指定的標簽label5,button2中賦予點擊按鈕將減號給指定的標簽label6,button3中賦予點擊按鈕將除號給指定的標簽label7.這樣可以實現(xiàn)符號的操作, 三

8、 在開始按鈕中設置默認值 ,并將控件中的數(shù)據(jù)清空,設置按鈕不可用,及在開始按鈕中隨機給一組數(shù)字在1到13之間的數(shù),這是通過rnd來實現(xiàn)的在這其中還需要考慮不出現(xiàn)零的情況,避免帶來不必要的麻煩。四 在確認按鈕中設置程序?qū)崿F(xiàn)的過程,最主要的算法,是通過select語句來實現(xiàn)的 ,通過select語句分情況逐個實現(xiàn)可能遇到的問題 并將其成功的解決。五 最后通過msgbox語句來實現(xiàn) 輸出實現(xiàn)的運行結果。這是通過if else語句來實現(xiàn)判斷的過程。六 在找不到答案的情況下或一時想不起的時候可以放棄此組數(shù)據(jù),可以選擇放棄按鈕,放棄按鈕主要是對數(shù)據(jù)清空工作。第四章 編碼實現(xiàn)一 加法button1按鈕中設置

9、if label5.text = "" then label5.text = "+" elseif label6.text = "" then label6.text = "+" elseif label7.text = "" then label7.text = "+" elseif button1.enabled = false then end if減法button2按鈕中設置 if label5.text = "" then label5.text

10、 = "-" elseif label6.text = "" then label6.text = "-" elseif label7.text = "" then label7.text = "-" elseif button1.enabled = false then end if除法button3按鈕中設置 if label5.text = "" then label5.text = "/" elseif label6.text = "&q

11、uot; then label6.text = "/" elseif label7.text = "" then label7.text = "/" elseif button1.enabled = false then end if乘法button4按鈕中設置if label5.text = "" then label5.text = "*" elseif label6.text = "" then label6.text = "*" elseif la

12、bel7.text = "" then label7.text = "*" elseif button1.enabled = false then end if二 開始按鈕中設置label1.text = int(13 * rnd() + 1) label2.text = int(13 * rnd() + 1) label3.text = int(13 * rnd() + 1) label4.text = int(13 * rnd() + 1) button4.enabled = true button3.enabled = true button2.e

13、nabled = true button1.enabled = true button8.enabled = true button9.enabled = true label5.text = "" label6.text = "" label7.text = ""三 在確認按鈕中設置dim a as integer select case label5.text case "+" a = val(label1.text) + val(label2.text) + val(label3.text) + val(la

14、bel4.text)case "-" a = val(label1.text) + val(label2.text) + val(label3.text) - val(label4.text) case "/" a = val(label1.text) + val(label2.text) + val(label3.text) / val(label4.text) case "*" a = val(label1.text) + val(label2.text) + val(label3.text) * val(label4.text)

15、 end select 四 在放棄按鈕中設置 button9.enabled = false button8.enabled = false button4.enabled = false button3.enabled = false button2.enabled = false button1.enabled = false label1.text = "" label2.text = "" label3.text = "" label4.text = "" label5.text = ""

16、; label6.text = "" label7.text = "" 第五章 調(diào)試與測試一 控件布置及相關的設置:二 控件中的源代碼的實現(xiàn)三 程序的試運行總結語:作為率先推廣前臺編程思想的語言,vb卻不是革命性的東西,所有現(xiàn)有的 vb 的思想都是繼承自其他的語言和技術,沒有什么革命的地方。但是 vb 在真正推動可視化前臺編程思想方面是功不可沒的。使用 vb 編程,你無需考慮到向后兼容什么語言的問題,它是重新建立的語言,你在掌握這門語言之前,你必須將自己的編程思想由過程編程徹底轉(zhuǎn)向編程,因為每個 vb 程序,你編寫任何 vb 程序,你都不自覺的在構造一個

17、模塊,過程。相對于另一門面向?qū)ο蟮恼Z言c+而言,vb 在面向?qū)ο蟮呢瀼胤矫嬉?c+ 徹底。有人說“c+ 是打著面向?qū)ο蟮幕献?,干著過程編程的勾當”或許不是言過其辭,c+繼承了c的面向過程的一些特性,而vb幾乎都用了面向?qū)ο蟮乃枷雭韺崿F(xiàn)程序。但是無論是 c+ 還是 vb都有可能走過程編程的老路, vb 降低的過程編寫的可能性,但是如果你沒有具備面編程思想,你還是可能走面向過程的老路的。程序中生成了幾個對象,均為較簡單的對象,而卻難免會步入面向過程的老路,但這看似是卻是難免的:實現(xiàn)游戲規(guī)則,就要把過程寫出來。 最近接觸了許多軟件工程方面的知識,深深感到程序設計要走的路之漫長。理解課程設

18、計如果想要做好,絕不是一朝一夕的事。本次設計的每一個階段:系統(tǒng)分析、總體設計、編碼實現(xiàn)、調(diào)試與測試,都是我在不斷學習的情況下完成的。而在這些過程中不斷體會軟件設計的各個步驟、各個環(huán)節(jié),又轉(zhuǎn)到不斷學習中去。古語有云“工欲善其事,必先利其器”,當初朦朦朧朧地寫了代碼,就體會到學習vb仍然是處于初步階段,遠遠不夠“善其事”。只是vb的學習是要不斷把所學和所用結合的,一次課程設計可以體會到知識的不足,而后補充所需的知識,再進行實踐,再發(fā)現(xiàn)不足,如此不斷,才能慢慢體會這門語言的精髓。再如軟件設計。毋庸置疑,本次課程設計只是讓我“摸一下軟件設計”。如專家所說,軟件文檔的編寫是應當占了軟件設計的90%的時間

19、精力的,文檔寫好了,隨便一個程序員都能做出軟件來??梢娷浖臋n的重要性。對于只是“了解軟件工程” 的我們來說,編寫文檔莫過于一件痛苦的事并沒有系統(tǒng)地學習過,卻要一點一點地用出來。洋洋灑灑的一本書,不禁為要走的路之漫長艱辛感慨不已。但是倘若是真的有興趣有毅力,這些應當不在話下。是故,本次課程設計帶給我的不僅僅是為未來打基礎這么簡單的收獲,更多的是一種認識。小至一門課程、一門語言,大至一門專業(yè)、一段人生,若不是熱情主動刻苦地學習,將一無所獲。附錄:1源代碼 public class form1 inherits system.windows.forms.form#region " win

20、dows 窗體設計器生成的代碼 " public sub new() mybase.new() '該調(diào)用是 windows 窗體設計器所必需的。 initializecomponent() '在 initializecomponent() 調(diào)用之后添加任何初始化 end sub '窗體重寫 dispose 以清理組件列表。 protected overloads overrides sub dispose(byval disposing as boolean) if disposing then if not (components is nothing) t

21、hen components.dispose() end if end if mybase.dispose(disposing) end sub 'windows 窗體設計器所必需的 private components as system.componentmodel.icontainer '注意: 以下過程是 windows 窗體設計器所必需的 '可以使用 windows 窗體設計器修改此過程。 '不要使用代碼編輯器修改它。 friend withevents label1 as system.windows.forms.label friend withe

22、vents label2 as system.windows.forms.label friend withevents label3 as system.windows.forms.label friend withevents label4 as system.windows.forms.label friend withevents label5 as system.windows.forms.label friend withevents label6 as system.windows.forms.label friend withevents label7 as system.wi

23、ndows.forms.label friend withevents label16 as system.windows.forms.label friend withevents button1 as system.windows.forms.button friend withevents button2 as system.windows.forms.button friend withevents button3 as system.windows.forms.button friend withevents button4 as system.windows.forms.butto

24、n friend withevents button7 as system.windows.forms.button friend withevents button8 as system.windows.forms.button friend withevents button9 as system.windows.forms.button friend withevents label8 as system.windows.forms.label <system.diagnostics.debuggerstepthrough()> private sub initializec

25、omponent() dim resources as system.resources.resourcemanager = new system.resources.resourcemanager(gettype(form1) me.label1 = new system.windows.forms.label me.label2 = new system.windows.forms.label me.label3 = new system.windows.forms.label me.label4 = new system.windows.forms.label me.label5 = n

26、ew system.windows.forms.label me.label6 = new system.windows.forms.label me.label7 = new system.windows.forms.label me.label16 = new system.windows.forms.label me.button1 = new system.windows.forms.button me.button2 = new system.windows.forms.button me.button3 = new system.windows.forms.button me.bu

27、tton4 = new system.windows.forms.button me.button7 = new system.windows.forms.button me.button8 = new system.windows.forms.button me.button9 = new system.windows.forms.button me.label8 = new system.windows.forms.label me.suspendlayout() ' 'label1 ' me.label1.backcolor = system.drawing.co

28、lor.transparent me.label1.font = new system.drawing.font("宋體", 24.0!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label1.location = new system.drawing.point(56, 56) me.label1.name = "label1" me.label1.size = new system.drawing.size(56, 56

29、) me.label1.tabindex = 0 me.label1.text = "label1" me.label1.textalign = system.drawing.contentalignment.middlecenter ' 'label2 ' me.label2.backcolor = system.drawing.color.transparent me.label2.font = new system.drawing.font("宋體", 24.0!, system.drawing.fontstyle.bold

30、, system.drawing.graphicsunit.point, ctype(134, byte) me.label2.location = new system.drawing.point(168, 56) me.label2.name = "label2" me.label2.size = new system.drawing.size(56, 56) me.label2.tabindex = 1 me.label2.text = "label2" me.label2.textalign = system.drawing.contentali

31、gnment.middlecenter ' 'label3 ' me.label3.backcolor = system.drawing.color.transparent me.label3.font = new system.drawing.font("宋體", 24.0!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label3.location = new system.drawing.point(272, 56)

32、 me.label3.name = "label3" me.label3.size = new system.drawing.size(56, 48) me.label3.tabindex = 2 me.label3.text = "label3" me.label3.textalign = system.drawing.contentalignment.middlecenter ' 'label4 ' me.label4.backcolor = system.drawing.color.transparent me.label4

33、.font = new system.drawing.font("宋體", 24.0!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label4.location = new system.drawing.point(392, 56) me.label4.name = "label4" me.label4.size = new system.drawing.size(56, 48) me.label4.tabindex = 3

34、 me.label4.text = "label4" me.label4.textalign = system.drawing.contentalignment.middlecenter ' 'label5 ' me.label5.backcolor = system.drawing.color.transparent me.label5.font = new system.drawing.font("宋體", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphi

35、csunit.point, ctype(134, byte) me.label5.location = new system.drawing.point(128, 72) me.label5.name = "label5" me.label5.size = new system.drawing.size(24, 23) me.label5.tabindex = 4 me.label5.text = "label5" me.label5.textalign = system.drawing.contentalignment.middlecenter 

36、9; 'label6 ' me.label6.backcolor = system.drawing.color.transparent me.label6.font = new system.drawing.font("宋體", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label6.location = new system.drawing.point(232, 72) me.label6.name = &quo

37、t;label6" me.label6.size = new system.drawing.size(24, 23) me.label6.tabindex = 5 me.label6.text = "label6" me.label6.textalign = system.drawing.contentalignment.middlecenter ' 'label7 ' me.label7.backcolor = system.drawing.color.transparent me.label7.font = new system.dra

38、wing.font("宋體", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label7.location = new system.drawing.point(344, 72) me.label7.name = "label7" me.label7.size = new system.drawing.size(24, 23) me.label7.tabindex = 6 me.label7.text = &qu

39、ot;label7" me.label7.textalign = system.drawing.contentalignment.middlecenter ' 'label16 ' me.label16.backcolor = system.drawing.color.transparent me.label16.font = new system.drawing.font("宋體", 24.0!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype

40、(134, byte) me.label16.location = new system.drawing.point(480, 56) me.label16.name = "label16" me.label16.size = new system.drawing.size(80, 48) me.label16.tabindex = 15 me.label16.text = "=24" me.label16.textalign = system.drawing.contentalignment.middlecenter ' 'button

41、1 ' me.button1.backcolor = system.drawing.color.transparent me.button1.font = new system.drawing.font("宋體", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.button1.location = new system.drawing.point(96, 176) me.button1.name = "button1

42、" me.button1.size = new system.drawing.size(56, 32) me.button1.tabindex = 16 me.button1.text = "+" ' 'button2 ' me.button2.backcolor = system.drawing.color.transparent me.button2.font = new system.drawing.font("宋體", 21.75!, system.drawing.fontstyle.bold, system.d

43、rawing.graphicsunit.point, ctype(134, byte) me.button2.location = new system.drawing.point(184, 176) me.button2.name = "button2" me.button2.size = new system.drawing.size(56, 32) me.button2.tabindex = 17 me.button2.text = "-" ' 'button3 ' me.button3.backcolor = system

44、.drawing.color.transparent me.button3.font = new system.drawing.font("宋體", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.button3.location = new system.drawing.point(272, 176) me.button3.name = "button3" me.button3.size = new system.

45、drawing.size(64, 32) me.button3.tabindex = 18 me.button3.text = "*" ' 'button4 ' me.button4.backcolor = system.drawing.color.transparent me.button4.font = new system.drawing.font("宋體", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134

46、, byte) me.button4.location = new system.drawing.point(368, 176) me.button4.name = "button4" me.button4.size = new system.drawing.size(64, 32) me.button4.tabindex = 19 me.button4.text = "/" ' 'button7 ' me.button7.backcolor = system.drawing.color.transparent me.button

47、7.font = new system.drawing.font("宋體", 24.0!, system.drawing.fontstyle.regular, system.drawing.graphicsunit.point, ctype(134, byte) me.button7.location = new system.drawing.point(56, 288) me.button7.name = "button7" me.button7.size = new system.drawing.size(88, 64) me.button7.tab

48、index = 22 me.button7.text = "開始" ' 'button8 ' me.button8.backcolor = system.drawing.color.transparent me.button8.font = new system.drawing.font("宋體", 21.75!, system.drawing.fontstyle.regular, system.drawing.graphicsunit.point, ctype(134, byte) me.button8.location = n

49、ew system.drawing.point(192, 288) me.button8.name = "button8" me.button8.size = new system.drawing.size(80, 64) me.button8.tabindex = 23 me.button8.text = "確認" ' 'button9 ' me.button9.backcolor = system.drawing.color.transparent me.button9.font = new system.drawing.fo

50、nt("宋體", 21.75!, system.drawing.fontstyle.regular, system.drawing.graphicsunit.point, ctype(134, byte) me.button9.location = new system.drawing.point(352, 288) me.button9.name = "button9" me.button9.size = new system.drawing.size(80, 56) me.button9.tabindex = 24 me.button9.text =

51、 "放棄" ' 'label8 ' me.label8.backcolor = system.drawing.color.transparent me.label8.font = new system.drawing.font("宋體", 12.0!, system.drawing.fontstyle.regular, system.drawing.graphicsunit.point, ctype(134, byte) me.label8.location = new system.drawing.point(584, 264)

52、 me.label8.name = "label8" me.label8.size = new system.drawing.size(176, 104) me.label8.tabindex = 25 me.label8.text = "游戲說明 : 點擊開始會隨機生成四個113之間的數(shù)字,通過加減乘除運算使得結果等于24!祝你好運" ' 'form1 ' me.autoscalebasesize = new system.drawing.size(6, 14) me.backgroundimage = ctype(resources.getobject("$this.backgroundimage"), system.drawing.image) me.clientsize = new system.drawing.size(752, 365) me.controls.add(me.label8) m

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論