2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計</b></p><p>  題 目: 貪食蛇小游戲的開發(fā) </p><p>  所 在 系: 計算機科學(xué)系 </p><p>  專 業(yè): 計算機科學(xué)與技術(shù) </p><p>  學(xué) 號:

2、 </p><p>  作者姓名: </p><p>  指導(dǎo)教師: </p><p>  2014年 5 月 6 日</p><p><b>  貪食蛇小游戲的開發(fā)</b></p><

3、p>  摘 要 Visual Basic(VB)作為世界上使用人數(shù)最多的語言,以其簡單、易學(xué)等諸多優(yōu)點,深受初學(xué)者們的喜愛,貪食蛇是一款家喻戶曉的經(jīng)典小游戲,它簡單有趣,老少皆宜,深受人們的青睞。本文基于VB開發(fā)了一個操作簡單、界面美觀的貪食蛇游戲,達到學(xué)習(xí)VB技術(shù)和熟悉軟件開發(fā)流程的目的。本文首先分析了游戲的基本功能,從功能、可行性方面分析了需求。然后,對游戲的概要設(shè)計和詳細設(shè)計進行了分析,這也是本文的重點。最后為了保證程序

4、代碼的正確性和功能實現(xiàn)的可靠性,本文還介紹了游戲的運行調(diào)試過程和功能測試結(jié)果。</p><p>  關(guān)鍵詞 VB;貪食蛇;游戲</p><p><b>  目 錄</b></p><p><b>  1 引言1</b></p><p><b>  2 開發(fā)環(huán)境2</b>

5、</p><p><b>  2.1開發(fā)工具2</b></p><p><b>  2.2應(yīng)用環(huán)境2</b></p><p>  3 游戲需求分析3</p><p>  3.1 功能描述3</p><p>  3.2 需求分析3</p><p&g

6、t;  3.3 可行性分析3</p><p>  3.3.1技術(shù)可行性3</p><p>  3.3.2操作可行性4</p><p>  3.3.3經(jīng)濟可行性4</p><p><b>  4 概要設(shè)計6</b></p><p>  4.1 程序功能模塊6</p><

7、;p>  4.2 程序流程6</p><p><b>  5 詳細設(shè)計8</b></p><p>  5.1 開始界面8</p><p>  5.1.1 開始游戲8</p><p>  5.1.2 最高分9</p><p>  5.1.3游戲說明10</p><

8、;p>  5.1.3退出游戲11</p><p>  5.2 游戲過程12</p><p>  5.3 游戲結(jié)束14</p><p><b>  6 測試18</b></p><p>  6.1 測試意義18</p><p>  6.2 測試過程18</p><

9、;p>  6.2.1 測試計劃18</p><p>  6.2.2 測試需求20</p><p>  6.2.3 測試用例21</p><p>  6.2.4 測試報告21</p><p>  6.3 測試結(jié)果21</p><p><b>  7 總結(jié)23</b></p&g

10、t;<p><b>  致謝25</b></p><p><b>  參考文獻26</b></p><p><b>  附錄27</b></p><p><b>  1 引言</b></p><p>  貪食蛇游戲是諾基亞手機上一個必不

11、可少的游戲,但是你知道這個游戲的由來嗎?據(jù)說蛇引誘夏娃吃了蘋果之后,就被貶為毒蟲,陰險的象征。而蛇吃東西是整只動物吞進去的,在文藝復(fù)興的時候就有人發(fā)明了一種游戲,也就是現(xiàn)在貪食蛇游戲的前身,后來就慢慢地演變成今天的貪食蛇了。</p><p>  貪食蛇是一款大眾化游戲,因為在諾基亞手機中隨處可見,而諾基亞手機也可以堪稱為手機中的一款非常經(jīng)典的手機,貪食蛇游戲也如此。所以,人們對于這款游戲并不陌生,在現(xiàn)在緊張的生活

12、節(jié)奏中可以給人們帶來不少的樂趣,讓人們能夠在緊張的生活中得到片刻的放松,保持良好的生活狀態(tài)。</p><p>  貪食蛇游戲是一款生產(chǎn)于1970年后期的計算機游戲,該游戲在1990年代由于一些手機將其引入而再度流行起來。在游戲中,玩家操控一條細長的蛇爬行于一個帶邊界的平面之上,呑食系統(tǒng)隨機生成的食物,并要避免觸碰到自身或者包圍著游戲區(qū)的“墻”。蛇身隨著貪食蛇所呑食的食物而增長,蛇身的不斷增長使游戲的難度逐漸變大。

13、操控貪食蛇時,玩家操控貪食蛇的頭部朝向(向上、向下、向左或向右)控制貪食蛇的進行方向,貪食蛇的身體跟隨著頭部行進。</p><p><b>  2 開發(fā)環(huán)境</b></p><p><b>  2.1開發(fā)工具</b></p><p>  本程序采用Microsoft Visual Basic 6.0中文版進行編譯,VB是一

14、種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言。從任何標準來說,VB都是世界上使用人數(shù)最多的語言——不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語言。VB擁有圖形用戶界面和快速應(yīng)用程序開發(fā)系統(tǒng),可以輕易地使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松地創(chuàng)建控件。程序員可以輕松地使用VB提供的組件快速建立一個應(yīng)用程序。</p><p><b>  2.2應(yīng)用環(huán)境</

15、b></p><p>  操作系統(tǒng):Windows XP,Windows7,Windows8,Windows Server</p><p>  應(yīng)用軟件:Visual Basic 6.0</p><p><b>  3 需求分析</b></p><p><b>  3.1 功能描述</b>&l

16、t;/p><p>  用VB語言實現(xiàn)經(jīng)典貪食蛇游戲,其基本功能描述如下。</p><p>  此游戲程序應(yīng)實現(xiàn)一條蛇在密閉的圍墻內(nèi)游動,在圍墻內(nèi)隨機生成一個食物,并且通過按鍵的上、下、左、右四個方向控制蛇身的移動,蛇頭撞到食物時,則表示事物被蛇吃掉,蛇身隨之增長一節(jié),并同時計分加10分,接著再出現(xiàn)食物,重復(fù)剛才的過程。如果在蛇的移動的過程中,蛇撞到墻壁或者身體交叉即蛇頭撞到自己的身體,游戲結(jié)束

17、。</p><p><b>  3.2 需求分析</b></p><p>  本游戲主要是完成貪食蛇的基本操作,用戶可以自己練習(xí)和娛樂。本游戲需要滿足以下幾點要求:</p><p>  對鍵盤事件的處理:上,下,左,右箭頭(↑、↓、←、→)。</p><p><b>  食物的隨機生成。</b>&l

18、t;/p><p><b>  蛇身方向的處理。</b></p><p>  蛇撞墻或者撞到自己的判斷。</p><p><b>  最高分的獲取。</b></p><p>  游行,吃到食物,碰壁的聲音設(shè)計。</p><p><b>  3.3 可行性分析</b&

19、gt;</p><p>  3.3.1技術(shù)可行性</p><p>  技術(shù)可行性指的是決策方案和決策技術(shù)不能突破組織所擁有的活著相關(guān)人員掌握的技術(shù)資源的邊界。在進行技術(shù)可行性分析時,需注意以下一些問題:</p><p>  系統(tǒng)開發(fā)過程中所涉及到的所有的技術(shù)問題</p><p>  開發(fā)一個小游戲同樣也涉及到多方面的技術(shù)問題,其中包括:軟件開

20、發(fā)、游戲結(jié)構(gòu)、游戲軟硬件平臺的搭建、游戲界面的設(shè)置等。不僅應(yīng)該客觀和全面地分析軟件開發(fā)過程中所涉及到的技術(shù)問題。還應(yīng)該充分地考慮到這些技術(shù)的現(xiàn)實性和成熟度問題。</p><p><b>  采用成熟技術(shù)</b></p><p>  成熟的技術(shù)是已被多人使用且其可行性被反復(fù)證明的有效的技術(shù),所以,采用較成熟的技術(shù)往往具有較高的成功率。此外,成熟的技術(shù)已經(jīng)經(jīng)過大范圍和常時

21、間的使用和優(yōu)化,其可操作性和優(yōu)化程度以及經(jīng)濟性面都要比新技術(shù)好。所以,在軟件的開發(fā)過程中,在能夠滿足所開發(fā)系統(tǒng)需求、適應(yīng)所開發(fā)系統(tǒng)發(fā)展、保證所開發(fā)系統(tǒng)成本的條件下,要盡量地使用成熟地技術(shù)。</p><p>  慎重地引入新進的技術(shù)</p><p>  在軟件開發(fā)過程中,為解決系統(tǒng)特定問題,為了讓所開發(fā)系統(tǒng)有更好的適應(yīng)性采取某些先進地或者科研成果仍然處于試驗階段,其實用性沒有得到完全解決,

22、也沒有經(jīng)過大量的試驗驗證。因此,在選擇這些技術(shù)時,必須慎重。如果不加以分析,盲目地采用這些技術(shù),應(yīng)用時難免會出現(xiàn)許多難以解決的具體的問題。</p><p><b>  技術(shù)可行性評價</b></p><p>  本游戲完全可以用Visual Basic 6.0來編程,由于其簡單性和易用性,所以在技術(shù)上也不會有太大的問題。</p><p>  3

23、.3.2操作可行性</p><p>  操作可行性,主要是指系統(tǒng)的運行方式和操作規(guī)程在用戶組織內(nèi)可以有效地實施。</p><p>  這是一個簡單易行,休閑益智的游戲,而且無論什么平臺都能很好的運行。用戶在游戲的過程中也能受益不淺。</p><p>  3.3.3經(jīng)濟可行性</p><p>  經(jīng)濟可行性值的是人力資源、自然資源和資金條件等可

24、使用資源的可能性。</p><p><b>  經(jīng)濟可行性的內(nèi)容</b></p><p>  其中主要包括以下兩個方面的內(nèi)容:一是某一方案使用和占有經(jīng)濟資源的可能性,從而達到實現(xiàn)政策目標的可能性; 二是要考慮到所需花費的成本和取得的利益。資源是有限的。如果某事物方案的成本高于利益,顯然這個是不可行的。</p><p><b>  經(jīng)濟

25、可行性的方法</b></p><p>  經(jīng)濟可行性的評估有兩個基本方法:成本-效益分析、成本-效能分析。</p><p><b>  經(jīng)濟可行性的標準</b></p><p>  其具體標準有效力、效率、投入產(chǎn)出比、利潤率等。這里主要指出效力和效率兩個概念。效力是指用最小的成本實現(xiàn)擬定的目標。效率是指以最小的投入換取最大的產(chǎn)出。&

26、lt;/p><p><b>  經(jīng)濟可行性分析</b></p><p>  自己的電腦上,即可用VB完成貪食蛇的編碼,實現(xiàn)貪食蛇小游戲的開發(fā)??梢哉f其經(jīng)濟利益相當可觀,隨著手機和電腦的普及,這種小游戲也將隨著普及。而我們用較小的成本即可得到較大的收入。</p><p><b>  4 概要設(shè)計</b></p>&

27、lt;p>  4.1 程序功能模塊</p><p>  由需求分析知,本次課程設(shè)計是用方向鍵實現(xiàn)貪食蛇游戲程序,故其功能模塊分為:開始畫面(開始游戲、游戲說明、最高分)、游戲過程(開始、停止、快速、蛇身樣式、得分、最高分)、游戲結(jié)束。具體的模塊如圖4-1所示。</p><p>  圖4-1 程序功能模塊</p><p>  Fig.4-1 program fu

28、nction module</p><p><b>  4.2 程序流程</b></p><p>  貪食蛇的內(nèi)容主要包括:游戲開始/停止、隨機出現(xiàn)食物;雙擊開始游戲;蛇身樣式的控制等功能。程序的流程圖如圖4-2所示。</p><p><b>  5 詳細設(shè)計</b></p><p>  編寫詳細設(shè)

29、計文檔目的是對貪食蛇小游戲進行詳細設(shè)計,在概要設(shè)計的基礎(chǔ)上進一步明確游戲結(jié)構(gòu),為游戲的實現(xiàn)和測試做準備</p><p>  系統(tǒng)總體設(shè)計完成后,就可以根據(jù)需求對各個模塊來進行實現(xiàn)了。首先是開始界面,進入主界面主要有開始游戲/游戲說明/最高分/退出游戲等模塊。其詳細介紹如下。</p><p><b>  5.1 開始界面</b></p><p>

30、  雙擊貪食蛇的運行文件,出現(xiàn)游戲開始界面,如圖5-1所示。</p><p>  圖5-1 程序主界面</p><p>  Fig.5-1 Program main interface</p><p>  5.1.1 開始游戲</p><p>  點擊“開始游戲”按鈕,出現(xiàn)圖5-2界面。</p><p><b&g

31、t;  圖5-2 游戲界面</b></p><p>  Fig.5-2 Game interface</p><p>  其原理是將“貪食蛇小游戲”窗口隱藏,將“貪食蛇”窗口顯示,其代碼如下:</p><p>  Private Sub 開始游戲_Click(Index As Integer)</p><p>  貪食蛇小游戲.H

32、ide</p><p><b>  貪食蛇.Show</b></p><p><b>  End Sub</b></p><p><b>  5.1.2 最高分</b></p><p>  點擊“最高分”按鈕,出現(xiàn)圖5-3界面。</p><p>  圖5

33、-3 最高分界面</p><p>  Fig.5-3 Highest score interface</p><p>  將字符串拼接起來,存儲在maxscore里面,并且使用msgbox函數(shù)將最高分彈出來,具體代碼如下:</p><p>  Private Sub 最高分_Click(Index As Integer)</p><p>  

34、Dim maxscore</p><p>  MDIForm1.Hide</p><p><b>  貪食蛇.Hide</b></p><p>  maxscore = "最高分為:" & 貪食蛇.Tag</p><p>  MsgBox maxscore, 0, "最高分"

35、;</p><p><b>  End Sub</b></p><p><b>  5.1.3游戲說明</b></p><p>  點擊游戲說明,出現(xiàn)圖5-4界面。</p><p>  圖5-4 游戲說明界面</p><p>  Fig.5-4 Game statement

36、interface</p><p>  利用vbCrLf換行,用&符號將字符串拼接起來,其代碼如下:</p><p>  Private Sub 游戲說明_Click(Index As Integer)</p><p>  Dim note As String</p><p>  note = "1. 使用鍵盤↑、↓、←、→

37、鍵控制蛇身的移動方向" & vbCrLf</p><p>  note = note & "2. 食物吞食越多 ,蛇身越長,分數(shù)越高" & vbCrLf</p><p>  note = note & "3. 如果碰到墻壁或者自己的身體,游戲結(jié)束"</p><p>  MsgBox n

38、ote, 0, "游戲說明"</p><p><b>  End Sub</b></p><p><b>  5.1.3退出游戲</b></p><p>  退出界面如圖5-5所示。</p><p>  圖5-5 退出游戲界面</p><p>  Fig.

39、5-5 Quit game interface</p><p>  用msgbox函數(shù)彈出一個確認是否退出游戲的提示,其代碼如下:</p><p>  Private Sub 退出游戲_Click(Index As Integer)</p><p>  If MsgBox("確認退出游戲?", vbYesNo, "提示") =

40、 vbYes Then End</p><p><b>  End Sub</b></p><p><b>  5.2 游戲過程</b></p><p>  游戲過程的界面如圖5-6所示。</p><p>  圖5-6 游戲過程界面</p><p>  Fig.5-6 Gam

41、e progress interface</p><p>  首先為窗口添加一個mFast菜單,以及mmFast的子菜單,并將mmFast的子菜單的索引設(shè)置為0,然后再在窗體上放四個控件:Lable1,Lable2,Shape1,Timer2并在在屬性窗口修改控件屬性:Label1 的 Name=LabSnake,Index=0Label2 的 Name=LabTai,Index=0Shape1 的

42、Name=ShaFoot,Index=0</p><p>  蛇身方向的控制,當按鍵按下,如果按鍵不朝當前蛇身運動的相反方向,那么就改變蛇身當前運動的方向,其代碼的實現(xiàn)如下所示:</p><p>  Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)</p><p>  Select Case

43、 KeyCode</p><p>  Case vbKeyUp: If ctTo <> to_Down Then ctTo = to_Up</p><p>  Case vbKeyDown: If ctTo <> to_Up Then ctTo = to_Down</p><p>  Case vbKeyLeft: If ctTo <&

44、gt; to_Right Then ctTo = to_Left</p><p>  Case vbKeyRight: If ctTo <> to_Left Then ctTo = to_Right</p><p>  End Select</p><p><b>  End Sub</b></p><p>

45、  對于游戲最高分的獲取,代碼如下所示:</p><p>  Private Sub ShowFen(Optional AddFen As Boolean)</p><p>  Dim Adds As Long</p><p>  If mmFast(m_Fast).Checked Then Adds = 20 Else Adds = 10’普通速度下,吃一個食物加

46、10分,加速的情況下加20分</p><p>  If ctAuto Then</p><p>  If AddFen Then ctAutoFen = ctAutoFen + Adds</p><p>  LabTai(2).Caption = "最高分 " & ctAutoMax</p><p>  LabTa

47、i(3).Caption = "得分 " & ctAutoFen</p><p>  貪食蛇.Tag = ctAutoMax</p><p><b>  Else</b></p><p>  If AddFen Then ctFen = ctFen + Adds</p><p>  LabTa

48、i(2).Caption = "最高分 " & ctMaxFen</p><p>  LabTai(3).Caption = "得 分 " & ctFen</p><p>  貪食蛇.Tag = ctMaxFen</p><p><b>  End If</b></p>&l

49、t;p><b>  End Sub</b></p><p><b>  5.3 游戲結(jié)束</b></p><p>  貪食蛇撞墻或者自己身體重疊,游戲結(jié)束,提示GAME OVER,并且返回到主界面,其界面如圖5-7和5-8所示。</p><p>  圖5-7 游戲結(jié)束界面</p><p>  

50、Fig.5-7 game over interface</p><p>  當蛇身撞“墻”,彈出“GAME OVER”提示游戲結(jié)束,游戲結(jié)束,返回到主界面,代碼如下所示:</p><p>  If L > ctL Or L < 1 Then’判斷是否超出兩邊豎線的范圍</p><p>  LabSnake(nHead).ZOrder</p>

51、<p>  Timer1.Enabled = False</p><p>  LabTai(1).Caption = "游戲結(jié)束"</p><p>  Call ShowStr("Game Over", 36) </p><p>  MsgBox "GAME OVER"</p>

52、<p><b>  貪食蛇.Hide</b></p><p>  貪食蛇小游戲.Show</p><p><b>  End If</b></p><p>  If H > ctH Or H < 1 Then’判斷是否超出兩條橫線的范圍</p><p>  LabSnake(

53、nHead).ZOrder</p><p>  Timer1.Enabled = False</p><p>  LabTai(1).Caption = "游戲結(jié)束"</p><p>  Call ShowStr("Game Over", 36)</p><p>  MsgBox "GAME

54、OVER"</p><p><b>  貪食蛇.Hide</b></p><p>  貪食蛇小游戲.Show</p><p>  'Call ShowStr("雙擊重新開始", 36, 1)</p><p>  'GoTo SetNewHead</p><

55、p>  'If L < ctL * 0.5 Then ctTo = to_Right Else ctTo = to_Left</p><p>  'GoTo MoveHL</p><p><b>  End If</b></p><p>  圖5-8 游戲結(jié)束界面</p><p>  Fig.

56、5-8 Game over interface</p><p>  當蛇身撞“自己”,彈出“GAME OVER”提示游戲結(jié)束,游戲結(jié)束,返回到主界面,代碼如下所示:</p><p>  If InBody(nHead, H, L) > -1 Then</p><p>  LabSnake(nHead).ZOrder</p><p>  

57、Timer1.Enabled = False</p><p>  LabTai(1).Caption = "游戲結(jié)束"</p><p>  Call ShowStr("Game Over", 36)</p><p>  MsgBox "GAME OVER"</p><p><b

58、>  貪食蛇.Hide</b></p><p>  貪食蛇小游戲.Show</p><p>  GoTo SetNewHead </p><p><b>  End If</b></p><p><b>  6 測試</b></p><p><b&g

59、t;  6.1 測試意義</b></p><p>  系統(tǒng)測試是為了發(fā)現(xiàn)系統(tǒng)缺陷,保證產(chǎn)品質(zhì)量而執(zhí)行程序的過程,成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。</p><p>  測試的目的就是希望能以最少的人力和資源在最少的時間內(nèi)發(fā)現(xiàn)潛在的各種錯誤和缺陷。應(yīng)根據(jù)開發(fā)各階段的需求、設(shè)計等文檔或程序的內(nèi)部結(jié)構(gòu),利用等價類、邊界值、錯誤推斷等測試方法,精心設(shè)計測試用例,并利用這些實例

60、來運行程序,以便發(fā)現(xiàn)錯誤。系統(tǒng)測試是保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟,是對系統(tǒng)開發(fā)過程中的系統(tǒng)分析系統(tǒng)設(shè)計和實施的最后復(fù)查。</p><p><b>  6.2 測試過程</b></p><p>  測試過程一般分為:制定測試計劃、編寫測試需求、編寫測試用例、執(zhí)行測試用例、編寫測試報告。</p><p>  6.2.1 測試計劃</p>

61、;<p>  制定測試計劃。在擬制測試計劃時,需充分考慮到整個項目的開發(fā)進展、開發(fā)時間、測試時間,盡可能的將測試時間安排得充裕點,使得測試計劃是可行的。測試計劃的內(nèi)容主要有測試內(nèi)容、進度時間安排、測試所需的環(huán)境和條件、測試人員任務(wù)的分配等。其主要測試計劃如下所示:</p><p><b>  測試目的</b></p><p>  為檢驗該游戲的功能是否達

62、到要求,對自己所設(shè)計的貪食蛇小游戲進行鑒定測試。</p><p><b>  測試范圍</b></p><p>  ①功能性,包括準確性、安全保密性、適合性、互操作性、功能依從性。</p><p>  ②易用性,包括易學(xué)性、易理解性、易吸引性、易操作性、易用依從性。</p><p> ?、劭梢浦残?,包括共存性、易安裝性、

63、適應(yīng)性、易替換性、可移植的依從性。</p><p> ?、芸煽啃?,包括成熟性方面、易恢復(fù)性、容錯性、可靠的依從性。</p><p> ?、菥S護性,包括易測試性、易改變性、易分析性、穩(wěn)定性、維護的依從性。</p><p> ?、扌剩ㄙY源利用性、時間特性、效率依從性。</p><p><b>  測試需求</b><

64、;/p><p>  測試需求見本章6.2.2測試需求。</p><p><b>  測試所生成的文檔</b></p><p> ?、贉y試計劃②測試需求③測試用例④缺陷報告⑤測試報告</p><p><b>  測試策略</b></p><p><b>  表6-1 測試

65、策略</b></p><p>  Table 6-1 test strategy</p><p><b>  測試工具</b></p><p>  純手工測試,沒有運用到測試工具。</p><p><b>  人員與進度表</b></p><p><b>

66、;  表6-2 測試進度</b></p><p>  Table 6-2 testing progress </p><p>  6.2.2 測試需求</p><p>  測試需求明確地指出在項目中要測試什么。</p><p>  首先要先明確測試需求,才能決定怎么進行測試、測試的時間、需要多少人人數(shù)、測試環(huán)境。測試中需要的技能、

67、工具以及相應(yīng)背景知識,測試中可能會遇到的風險等,以上的因素就構(gòu)成了測試計劃的基本要素。測試需求是測試計劃的重點和基礎(chǔ)。</p><p>  測試需求根據(jù)不同的環(huán)境,不同的要求,不同的專業(yè)水平,詳細程度也會有所不同。一份測試需求通常由被測系統(tǒng)的功能模塊、需求標識、測試要點等組成。</p><p>  由于本貪食蛇小游戲操作等各方面都比較簡單、也沒有涉及到復(fù)雜的邏輯問題和往輸入框中輸入字符等問

68、題,所以整個系統(tǒng)的測試需求比較簡單,僅需點擊查看其功能能否正常并且正確地完成即可。</p><p>  下面是一部分功能模塊測試需求。</p><p><b>  表6-3 測試需求</b></p><p>  Table 6-3 test requirement</p><p>  6.2.3 測試用例</p&g

69、t;<p>  根據(jù)測試大綱設(shè)計和相關(guān)需求按照等價類、邊界值等相關(guān)方法生成測試用例。在設(shè)計測試用例的時候,產(chǎn)生測試設(shè)計說明文檔,其內(nèi)容主要有被測項目、輸人數(shù)據(jù)、測試過程、預(yù)期輸出結(jié)果等。</p><p>  6.2.4 測試報告</p><p>  測試完成后,要形成相應(yīng)的測試報告,主要對測試進行概要說明,列出測試的結(jié)論,指出缺陷和錯誤,另外,給出一些建議,如可采用的修改方法

70、,各項修改預(yù)計的工作量及修改的負責人員。</p><p><b>  6.3 測試結(jié)果</b></p><p>  貪食蛇小游戲已經(jīng)通過測試,結(jié)果表明:</p><p>  功能性(適合性、準確性、互操作性、安全保密性、功能性依從性)</p><p>  該軟件各項功能運行正常,能夠較準確的完成開始/停止游戲、加快速度、

71、顯示樣式等基本操作。</p><p>  可靠性(成熟性、容錯性、易恢復(fù)性、可靠性的依從性)</p><p>  該軟件對用戶的誤操作能較好的屏蔽,容錯能力較好;軟件在測試過程中極少出現(xiàn)異常退出,系統(tǒng)運行比較穩(wěn)定;軟件能較快的從失效狀態(tài)重新啟動,恢復(fù)到正常工作狀態(tài)。軟件遵循與可靠性相關(guān)的標準、約定或法規(guī)。</p><p>  可移植性(適應(yīng)性、易安裝性、共存性、易替

72、換性、可移植性的依從性)</p><p>  該軟件與其他類似軟件在同一環(huán)境下能夠正常運行;在不同環(huán)境下使用時無需額外的資源;在同樣環(huán)境下,軟件可以替代另一個相同用途的指定軟件產(chǎn)品;軟件遵循與可移植性相關(guān)的標準或約定。</p><p>  易用性(易理解性、易學(xué)性、易操作性、易吸引性、易用性依從性)</p><p>  該軟件符合用戶使用的要求,操作方便、易學(xué)、易理

73、解、吸引用戶使用;軟件遵循與易用性相關(guān)的標準、預(yù)定、風格指南或法規(guī)。</p><p>  維護性(易分析性、易改變性、穩(wěn)定性、易測試性、維護性的依從性)</p><p>  該軟件可以修改;修改后的功能可以開展測試;修改功能后對其他功能不產(chǎn)生關(guān)聯(lián)影響;能夠較快的定位到缺陷并解決;軟件遵循與維護性相關(guān)的標準或約定。</p><p>  效率(時間特性、資源特性、依從性

74、)</p><p>  該軟件主要操作能夠在5S內(nèi)完成,系統(tǒng)資源使用正常,CPU使用率平均為30%以下,內(nèi)存使用為20%以下,I/O Wait小于2;軟件遵循與效率相關(guān)的標準或約定。</p><p><b>  用戶文檔</b></p><p>  用戶手冊對軟件的主要功能和關(guān)鍵操作有相應(yīng)的描述,易理解;用戶文檔描述和軟件實際功能基本一致。&l

75、t;/p><p><b>  7 總結(jié)</b></p><p>  通過幾個月的VB學(xué)習(xí),讓我對VB有一個更透徹的了解。</p><p>  首先了解到VB的特點,VB是在原來Basic的基礎(chǔ)上發(fā)展而來,它繼承了Basic的簡單易用等優(yōu)點,不需要用大量的代碼去描述界面元素的外觀和位置,只要把預(yù)先建立的對象添加到屏幕上的某點即可。VB是世界上使用人數(shù)

76、最多的語言之一,VB在原來BASIC語言的基礎(chǔ)上進一步發(fā)展至今包含了數(shù)百條語句,函數(shù)及關(guān)鍵詞,其中很多和WINDOWS GUI有直接關(guān)系,VB不僅是可視語言,而且是面向?qū)ο蟮木幊陶Z言。其特點是概念多,實踐性強,涉及面廣。</p><p>  其次,了解到一些基本的概念。例如類,就是創(chuàng)建對象實例的模板包含了創(chuàng)建的屬性描述和行為特征的定義。而此中的對象又是類的一個實例,繼承了類的屬性、方法,而VB中常用的對象有窗體、

77、控件等。但我們在建立之前必須清楚對象的三要素:屬性、方法、事件。而建立程序的步驟大致可分為:</p><p>  (1) 啟動程序,裝載和顯示窗體。</p><p>  (2) 窗體等待事件的發(fā)生。</p><p>  (3) 事件發(fā)生時,執(zhí)行對應(yīng)的事件發(fā)生過程。</p><p>  (4) 再重復(fù)(2)(3)的過程。</p>

78、<p>  (5) 最后直接遇到"END"</p><p>  結(jié)束語句結(jié)束程序的運行或按"結(jié)束"強行停止程序的運行。再用VB創(chuàng)建一個應(yīng)用程序,第一步驟是創(chuàng)建窗體,它是用戶與應(yīng)用程序進行交互操作的可視部分,窗體是創(chuàng)建界面的基本構(gòu)造模塊,也是創(chuàng)建應(yīng)用程序所使用的對象。而后必要設(shè)置窗體的屬性,從而構(gòu)出窗體的外觀,設(shè)置好的窗體,窗體就作為對象,能夠?qū)ζ涠x的事件作出響應(yīng)

79、,這也是所謂的窗體事件,而窗體事件又包括窗體本身事件,鍵盤事件和鼠標事件。在了解窗體基本知識就還應(yīng)了解VB的語言基礎(chǔ),其中包括了代碼模塊(窗體模塊、標準模塊、類模塊),注釋、分行和續(xù)行、數(shù)據(jù)類節(jié)(字節(jié)型、邏輯型、數(shù)值型、日期型)、變量與常數(shù)、運算符與表達式、數(shù)組、控制結(jié)構(gòu)、子過程、函數(shù)。同時,為了編程,我們還應(yīng)培養(yǎng)良好的編程習(xí)慣,首先是對象、變量、過程的命名約定,然結(jié)構(gòu)化編碼約定。在VB中創(chuàng)建應(yīng)用程序之際也就是和對象打交道之時,對象是代

80、碼和數(shù)據(jù)的組合,可以作為一個單位來處理,對象可以是應(yīng)用程序的一部分,比如可以是控件、窗體、數(shù)據(jù)訪問對象控件也是對象中的一種,主要用來獲取用戶的輸入信息和顯示輸出信息。應(yīng)用程序中可用的控件包括文本框、命令按扭和列表框而通過另外一些控件可以訪問其他應(yīng)用程序并處理</p><p>  學(xué)習(xí)VB程序設(shè)計后,增加對此的認識,深入學(xué)習(xí)VB程序就可掌握新的軟件,新的編程環(huán)境,學(xué)習(xí)此課程,也可學(xué)會使用開發(fā)環(huán)境,開發(fā)工具的方法才能

81、更好地跟上計算機學(xué)科的發(fā)展。</p><p><b>  致謝</b></p><p>  本論文是在**老師的悉心指導(dǎo)下完成的。老師淵博的知識,精益求精的工作作風,嚴謹?shù)闹螌W(xué)態(tài)度,誨人不倦的高尚師德,嚴以律己,寬以待人的崇高風范,平易近人、樸實無華的人格魅力對我產(chǎn)生了深遠的影響。這不僅使我樹立了遠大的學(xué)術(shù)目標、還讓我懂得了許多為人處世,待人接物方面的道理。</

82、p><p>  本論文從選題到完成,每一步都是在老師的悉心指導(dǎo)下完成的,傾注了**老師大量的心血。通過指導(dǎo)老師的認真指導(dǎo)使我的畢業(yè)設(shè)計能夠如期完成。再次向我的指導(dǎo)老師表示衷心的感謝,同時,論文的順利的完成,也離不開各位老師、同學(xué)和朋友的幫助與關(guān)心。謝謝大家!</p><p><b>  參考文獻</b></p><p>  [1] 魏星基于Java

83、的游戲“貪食蛇”的設(shè)計和實現(xiàn)—實現(xiàn)游戲主控制功能[M].成都:四川師范大學(xué),2007(03).</p><p>  [2] 徐艷.貪食蛇游戲的結(jié)構(gòu)程序設(shè)計流程[J].科技廣場,2010(01).</p><p>  [3] 劉艷.貪食蛇游戲的結(jié)構(gòu)程序設(shè)計流程[J].科技大學(xué),2010(01).</p><p>  [4] 肖志明.談?wù)刅B程序設(shè)計教學(xué)中的數(shù)據(jù)庫應(yīng)用[

84、J].廣西廣播電視大學(xué)學(xué)報,2010(01).</p><p>  [5] 王運堅.《VISUAL BASIC 6.0 應(yīng)用指南》[M ]. 北京: 人民郵電出版社,1998(07).</p><p>  [6] 管麗娜白海波.《實用Visual Basic6 教程》[M] .北京:清華大學(xué)出版社,2001(04).</p><p>  [7] 胡伏湘,雷軍環(huán),JA

85、VA程序設(shè)計實用教程.北京:清華大學(xué)出版社,2005(03).</p><p>  [8] 耿祥義,張躍平.Java2實用教程(第三版).清華大學(xué)出版社,2006(08).</p><p>  [9] 陳昊鵬[同譯者作品].Java編程思想(第四版).機械工業(yè)出版社,2007(01).</p><p><b>  附錄</b></p>

86、;<p>  其游戲過程的代碼如下:</p><p>  Enum enMenuIndex '枚舉菜單索引</p><p>  m_Start '開始</p><p>  m_Auto '自動</p><p><b>  m_Fast</b></p><p>

87、<b>  m_ShowWen</b></p><p>  m_Line '此常數(shù)必須在最后,便于調(diào)試</p><p><b>  End Enum</b></p><p><b>  Enum enTo</b></p><p><b>  to_Up<

88、/b></p><p><b>  to_Down</b></p><p><b>  to_Left</b></p><p><b>  to_Right</b></p><p><b>  End Enum</b></p><

89、p>  Dim ctTo As enTo, ctZong As Long, ctFoot As Long, ctHead As Long</p><p>  Dim ctB As Long, ctSize As Long, ctH As Long, ctL As Long, ctEsc As Boolean</p><p>  Dim ctDown As Long, ctRight

90、As Long</p><p>  Dim ctFen As Long, ctMaxFen As Long, ctAutoFen As Long, ctAutoMax As Long, ctAuto As Boolean</p><p>  Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)</p>&

91、lt;p>  Select Case KeyCode</p><p>  Case vbKeyUp: If ctTo <> to_Down Then ctTo = to_Up</p><p>  Case vbKeyDown: If ctTo <> to_Up Then ctTo = to_Down</p><p>  Case vbK

92、eyLeft: If ctTo <> to_Right Then ctTo = to_Left</p><p>  Case vbKeyRight: If ctTo <> to_Left Then ctTo = to_Right</p><p>  End Select</p><p><b>  End Sub</b>

93、</p><p>  Private Sub ShowBack(Optional AutoSize As Boolean)</p><p>  Dim W As Single, H As Single, W1 As Single, H1 As Single </p><p>  If Not AutoSize Then GoTo Back1</p>

94、<p>  W1 = Me.Width - Me.ScaleX(Me.ScaleWidth, Me.ScaleMode, vbTwips) '窗口邊框?qū)挾龋壕?lt;/p><p>  H1 = Me.Height - Me.ScaleY(Me.ScaleHeight, Me.ScaleMode, vbTwips) '窗口標題欄高度:緹</p><p>  W = ct

95、L * ctSize + ctB * 2: H = ctH * ctSize + ctB * 2</p><p>  W = W + Me.TextWidth("A") * 14 '留出 14 個字符的空白區(qū),顯示成績</p><p>  For I = 0 To LabTai.Count - 1</p><p>  LabTai(I).

96、Move ctRight + ctB * 0.5, ctB + ctSize * 1.2 * (I + 1)</p><p><b>  Next</b></p><p>  W = W1 + Me.ScaleX(W, Me.ScaleMode, vbTwips)</p><p>  H = H1 + Me.ScaleY(H, Me.Scale

97、Mode, vbTwips)</p><p>  Me.Move (Screen.Width - W) * 0.5, (Screen.Height - H) * 0.5, W, H </p><p><b>  Back1:</b></p><p><b>  Me.Cls</b></p><p>

98、;  Me.Line (ctB, ctB)-(ctRight, ctDown), RGB(0, 155, 0), BF</p><p>  If Not mmFast(m_Line).Checked Then Exit Sub</p><p>  Dim nStr As String</p><p>  Me.Font.Size = 9</p><

99、;p>  W1 = Me.TextWidth("A"): H1 = (ctSize - Me.TextHeight("A")) * 0.5</p><p>  For H = 0 To ctH '橫線</p><p>  Me.Line (ctB, ctB + H * ctSize)-Step(ctRight - ctB, 0)<

100、/p><p>  nStr = H + 1</p><p>  Me.CurrentX = ctB - Me.TextWidth(nStr)</p><p>  Me.CurrentY = ctB + H * ctSize + H1</p><p>  If H < ctH Then Me.Print nStr</p><

101、;p><b>  Next</b></p><p>  H1 = Me.TextHeight("A")</p><p>  For H = 0 To ctL '縱線</p><p>  Me.Line (ctB + H * ctSize, ctB)-Step(0, ctDown - ctB)</p>

102、<p>  nStr = H + 1</p><p>  Me.CurrentX = ctB + H * ctSize + (ctSize - Me.TextWidth(nStr)) * 0.5</p><p>  Me.CurrentY = ctB - H1</p><p>  If H < ctL Then Me.Print nStr<

103、/p><p><b>  Next</b></p><p><b>  End Sub</b></p><p>  Private Sub KjInit()</p><p><b>  '初始化</b></p><p>  Dim I As Long

104、, nEnd As Long, S As Long, H As Long</p><p>  ctFoot = 1 '同時出現(xiàn)的食物數(shù)</p><p>  ctZong = 2: ctTo = to_Right '初始長度、方向</p><p>  ctHead = 0: ctFen = 0 &#

105、39;蛇頭序號,得分</p><p>  ctSize = 15 '蛇身寬度(控件大?。合袼?lt;/p><p>  ctB = 20 '邊框空白區(qū):像素</p><p>  ctH = 30: ctL = 30 '活動區(qū)行列數(shù)</p>

106、;<p>  ctDown = ctB + ctH * ctSize '活動區(qū)底部位置</p><p>  ctRight = ctB + ctL * ctSize '活動區(qū)右部位置</p><p>  Call ShowFen</p><p>  If mmFast(m_ShowRect).Checked Then LabSnak

107、e(0).BorderStyle = 1 Else LabSnake(0).BorderStyle = 0</p><p>  LabSnake(0).Alignment = 2: LabSnake(0).BackColor = 255</p><p>  Randomize: H = 1 + Int((ctH - 1) * Rnd) '初始出發(fā)行</p><p

108、>  nEnd = LabSnake.Count - 1 '當前末尾序號</p><p>  S = ctZong</p><p>  If S < nEnd Then S = nEnd</p><p>  For I = 0 To S</p><p>  If I > ctZong Then</p>

109、<p>  Unload LabSnake(I)</p><p><b>  Else</b></p><p>  If I > nEnd Then Load LabSnake(I): LabSnake(I).Visible = True</p><p>  LabSnake(I).Move ctB, ctB + ctSize

110、* H, ctSize, ctSize</p><p>  If mmFast(m_ShowNum).Checked Then LabSnake(I).Caption = I Else LabSnake(I).Caption = ""</p><p><b>  End If</b></p><p><b>  N

111、ext</b></p><p>  ShaFoot(0).Shape = 3: ShaFoot(0).FillStyle = 0: ShaFoot(0).FillColor = RGB(0, 0, 255)</p><p>  ShaFoot(0).Move -ctB - ctSize, 0, ctSize, ctSize</p><p>  nEnd

112、= ShaFoot.Count - 1 '當前末尾序號</p><p>  S = ctFoot - 1</p><p>  If S < nEnd Then S = nEnd</p><p>  For I = 0 To S</p><p>  If I > ctFoot - 1 Then</p><

113、p>  Unload ShaFoot(I)</p><p><b>  Else</b></p><p>  If I > nEnd Then Load ShaFoot(I): ShaFoot(I).Visible = True</p><p>  Call RndFoot(I)</p><p><b&

114、gt;  End If</b></p><p><b>  Next</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Unload(Cancel As Integer)</p><p>  ctEsc = True<

115、/p><p>  If ctAutoMax < ctAutoFen Then ctAutoMax = ctAutoFen</p><p>  If ctMaxFen < ctFen Then ctMaxFen = ctFen</p><p>  SaveSetting "Snake", "Opt", "Aut

116、oMax", ctAutoMax</p><p>  SaveSetting "Snake", "Opt", "MaxFen", ctMaxFen</p><p><b>  End Sub</b></p><p>  Private Function KjIndex(Ind

117、ex As Long, AddNum As Long)</p><p>  KjIndex = Index + AddNum</p><p>  If AddNum > 0 Then</p><p>  If KjIndex > ctZong Then KjIndex = KjIndex - ctZong - 1</p><p>

118、<b>  Else</b></p><p>  If KjIndex < 0 Then KjIndex = KjIndex + ctZong + 1</p><p><b>  End If</b></p><p>  End Function</p><p>  Private Sub L

119、abTai_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)</p><p>  If Index = 0 And Button = 1 Then Me.PopupMenu mFast, , LabTai(Index).Left, LabTai(Index).Top + LabTai

120、(Index).Height</p><p><b>  End Sub</b></p><p>  Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)</p><p>  If Button = 2 Then Me.Po

121、pupMenu mFast</p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  Dim I As Long</p><p>  Me.Caption = "貪食蛇" 'Snake</p>&l

122、t;p>  Me.KeyPreview = True: Me.AutoRedraw = True</p><p>  Timer1.Interval = 100 '速度</p><p>  Me.ScaleMode = vbPixels ' 3 像素</p><p>  Timer1.Enabled = False</p><

123、;p>  mFast.Visible = False</p><p>  For I = 1 To m_Line</p><p>  Load mmFast(I)</p><p><b>  Next</b></p><p>  mmFast(m_Start).Caption = "開始/停止"

124、</p><p>  mmFast(m_Auto).Caption = "自動游戲"</p><p>  mmFast(m_Fast).Caption = "快速"</p><p>  mmFast(m_ShowWen).Caption = "顯示花紋"</p><p>  mmFa

125、st(m_Line).Caption = "顯示網(wǎng)格線"</p><p>  LabTai(0).AutoSize = True</p><p>  For I = 1 To 3</p><p>  Load LabTai(I): LabTai(I).Visible = True</p><p><b>  Ne

126、xt</b></p><p>  LabTai(0).Caption = "選項": LabTai(1).Caption = "雙擊開始游戲"</p><p>  ctAutoMax = GetSetting("Snake", "Opt", "AutoMax", 0)</p

溫馨提示

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

評論

0/150

提交評論