【正文】
(m_Line).Caption = 顯示網(wǎng)格線 LabTai(0).AutoSize = True For I = 1 To 3 32 Load LabTai(I): LabTai(I).Visible = True Next LabTai(0).Caption = 選項 : LabTai(1).Caption = 雙擊開始游戲 ctAutoMax = GetSetting(Snake, Opt, AutoMax, 0) ctMaxFen = GetSetting(Snake, Opt, MaxFen, 0) Call KjInit Call ShowBack(True) = True Call ShowStr(雙擊開始游戲 , 36) Call ShowStr(用鍵盤的方向鍵控制蛇的運動方向 , 18, 1) End Sub Private Sub Form_DblClick() = True If ctAutoMax ctAutoFen Then ctAutoMax = ctAutoFen If ctMaxFen ctFen Then ctMaxFen = ctFen Call KjInit: Call ShowBack ctAutoFen = 0: ctFen = 0 Call ShowFen If ctAuto Then LabTai(1).Caption = 游戲中(自動) Else LabTai(1).Caption = 游戲中 End Sub Private Sub mmFast_Click(Index As Integer) Dim I As Long If ctAutoMax ctAutoFen Then ctAutoMax = ctAutoFen If ctMaxFen ctFen Then ctMaxFen = ctFen Select Case Index Case m_Start = Not If Then Call KjInit: Call ShowBack Case m_Auto 33 ctAuto = Not ctAuto: mmFast(Index).Checked = ctAuto = ctAuto If Then Call KjInit: Call ShowBack Case m_Fast mmFast(Index).Checked = Not mmFast(Index).Checked If mmFast(Index).Checked Then = 50 Else = 100 LabSnake(I).BorderStyle = 0 End Select If Then If ctAuto Then LabTai(1).Caption = 游戲中(自動) Else LabTai(1).Caption = 游戲中 ctAutoFen = 0: ctFen = 0 Else LabTai(1).Caption = 游戲已停止 End If Call ShowFen End Sub Private Sub Timer1_Timer() Dim nHead As Long, nEnd As Long, X As Long, Y As Long, I As Long Dim H As Long, L As Long, H1 As Long, L1 As Long If ctSize = 0 Then Exit Sub nHead = ctHead: nEnd = KjIndex(ctHead, 1) 39。當(dāng)前末尾序號 S = ctZong If S nEnd Then S = nEnd For I = 0 To S If I ctZong Then Unload LabSnake(I) Else If I nEnd Then Load LabSnake(I): LabSnake(I).Visible = True 30 LabSnake(I).Move ctB, ctB + ctSize * H, ctSize, ctSize If mmFast(m_ShowNum).Checked Then LabSnake(I).Caption = I Else LabSnake(I).Caption = End If Next ShaFoot(0).Shape = 3: ShaFoot(0).FillStyle = 0: ShaFoot(0).FillColor = RGB(0, 0, 255) ShaFoot(0).Move ctB ctSize, 0, ctSize, ctSize nEnd = 1 39?;顒訁^(qū)行 列數(shù) ctDown = ctB + ctH * ctSize 39。初始長度、方向 ctHead = 0: ctFen = 0 39。橫線 (ctB, ctB + H * ctSize)Step(ctRight ctB, 0) nStr = H + 1 = ctB (nStr) = ctB + H * ctSize + H1 If H ctH Then nStr Next H1 = (A) For H = 0 To ctL 39。此常數(shù)必須在最后,便于調(diào)試 End Enum Enum enTo to_Up to_Down to_Left to_Right End Enum Dim ctTo As enTo, ctZong As Long, ctFoot As Long, ctHead As Long Dim ctB As Long, ctSize As Long, ctH As Long, ctL As Long, ctEsc As Boolean Dim ctDown As Long, ctRight As Long Dim ctFen As Long, ctMaxFen As Long, ctAutoFen As Long, ctAutoMax As Long, ctAuto As Boolean Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyUp: If ctTo to_Down Then ctTo = to_Up Case vbKeyDown: If ctTo to_Up Then ctTo = to_Down Case vbKeyLeft: If ctTo to_Right Then ctTo = to_Left Case vbKeyRight: If ctTo to_Left Then ctTo = to_Right End Select End Sub Private Sub ShowBack(Optional AutoSize As Boolean) 28 Dim W As Single, H As Single, W1 As Single, H1 As Single If Not AutoSize Then GoTo Back1 W1 = (, , vbTwips) 39。謝謝大家! 26 參考文獻 [1] 魏星基于 Java 的游戲“貪食蛇”的設(shè)計和實現(xiàn) — 實現(xiàn)游戲主控制功能 [M].成都:四川師范大學(xué), 2020(03). [2] 徐艷 .貪食蛇游戲的結(jié)構(gòu)程序設(shè)計流程 [J].科技廣場, 2020(01). [3] 劉艷 .貪食蛇游戲的結(jié)構(gòu)程序設(shè)計流程 [J].科技 大學(xué) , 2020(01). [4] 肖志明 .談?wù)?VB 程序設(shè)計 教學(xué) 中的數(shù)據(jù)庫應(yīng)用 [J].廣西 廣播 電視大學(xué)學(xué)報, 2020(01). [5] 王運堅 .《 VISUAL BASIC 應(yīng)用指南》 [M ]. 北京 : 人民郵電出版社 ,1998(07). [6] 管麗娜白海波 .《實用 Visual Basic6 教程》 [M] .北京 :清華大學(xué)出版社 ,2020(04). [7] 胡伏湘,雷軍環(huán) ,JAVA 程序設(shè)計實用教程 .北京 :清華大學(xué)出版社, 2020(03). [8] 耿祥義,張躍平 .Java2 實用教程(第三版) .清華大學(xué)出版社, 2020(08). [9] 陳昊鵬 [同譯者作品 ].Java 編程思想(第四版) .機械工業(yè)出版社, 2020(01). 27 附錄 其游戲過程的代碼如下: Enum enMenuIndex 39。這不僅使我樹立了遠大的學(xué)術(shù)目標、還讓我懂得了許多為人處世,待人接物方面的道理。對于自定義對話框和標準對話框,使可以完成與用戶之間的交互。在 VB 中創(chuàng)建應(yīng)用程序之際也就是和對象打交道之時,對象是代碼和數(shù)據(jù)的組合,可以作為一個單位來處理,對象可以是應(yīng)用程序的一部分,比如可以是控件、窗體、數(shù)據(jù)訪問對象控件也是對象中的一種,主要用來獲取用戶的輸入信息和顯示輸出信息。再用 VB 創(chuàng)建一個應(yīng)用程序,第一步驟是創(chuàng)建窗體,它是用戶與應(yīng)用程序進行交互操作的可視部分, 窗體是創(chuàng)建界面的基本構(gòu)造模塊,也是創(chuàng)建應(yīng)用程序所使用的對象。 (2) 窗體等待事件的發(fā)生。例如類,就是創(chuàng)建對象實例的模板包含了創(chuàng)建的屬性描述 和行為特征的定義。 首先了解到 VB 的特點, VB 是在原來 Basic 的基礎(chǔ)上發(fā)展而來,它繼承了 Basic 的簡單易用等優(yōu)點,不需要用大量的代碼去描述界面元素的外觀和位置, 只要把預(yù)先建立的對象添加到屏幕上的某點即可 。 ( 5) 維護性( 易分析性 、 易改變性 、 穩(wěn)定性 、 易測試性 、維護性的依 從性) 該軟件可以修改;修改后的功能可以開展測試;修改功能后對其他功能不產(chǎn)生關(guān)聯(lián)影響;能夠較快的定位到缺陷并解決;軟件遵循與維護性相關(guān)的標準或約定。 ( 2) 可靠性(成熟性、容錯性、易恢復(fù)性、可靠性的依從性) 該軟件對用戶的誤操作能較好的屏蔽,容錯能力較好;軟件在測試過程中極少出現(xiàn)異常退出,系統(tǒng)運行比較穩(wěn)定;軟件能較快的從失效狀態(tài)重新啟動,恢復(fù)到正常工作狀態(tài)。 21 表 63 測試需求 Table 63 test requirement 功能模塊 子模塊 需求標識 測試要點 開始游戲 選項 開始 /停止 TSHRQ001 點擊開始 /停止游戲 快速 TSHRQ002 點擊加快 /減慢蛇速度 顯示花紋 TSHRQ003 點擊顯示花紋樣式的蛇身 顯示網(wǎng)格 TSHRQ004 點擊顯示游戲區(qū)域的網(wǎng)格線 最高分 - TSHRQ005 正確顯示游戲的最高分 得分 - TSHRQ006 正確顯示游戲當(dāng)前得分 測試用例 根據(jù)測試大綱設(shè)計和相關(guān)需求按照等價類、邊界值等相關(guān)方法生成測試用例。 測試需求根據(jù)不同的環(huán)境,不同的要求,不同的專業(yè)水平,詳細程度也會有所不同。 ( 7) 人員與進度表 表 62 測試進度 Table 62 testing progress 人員 角色 任務(wù) 時間 李彬 測試負責(zé)人 制定系統(tǒng)測試計劃 20201130 組織系統(tǒng)測試任務(wù)的安排和實施 20201201至 20201202 設(shè)計系統(tǒng)測試用例 20201202 總結(jié)系統(tǒng)測試報告 20201203 李彬 測試人員 進行系統(tǒng)測試 20201203至 20201203 登記系統(tǒng)測試結(jié)果 20201203至 20201204 測試需求 測試需求明確地指出在項目中要測試什么。 對完整性級別高的系統(tǒng),安全性、可靠性高。 系統(tǒng)訪問和數(shù)據(jù)安全。 在使用無效數(shù)據(jù)時顯示相應(yīng)的錯誤消息或警告消息。 ⑥ 效率,包括資源利用性、時間特性、效率依從性。 ② 易用性,包括易學(xué)性、易理解性、易吸引性、易操作性、易用依從性。在擬制測試計劃時,需充分考慮到整個項目的開發(fā)進展、開發(fā)時間、測試時間,盡可能的將測試時間安排得充裕點,使得測試計劃是可行的。應(yīng)根據(jù)開發(fā)各階段的需求、設(shè)計等文檔或程序的內(nèi)部結(jié)構(gòu) ,利用等價類、邊界值、錯誤推斷等測試方法, 精心設(shè)計測試用例,并利用這些實 例來運行程序,以便發(fā)現(xiàn)錯誤。GoTo SetNewHead 39。 ctMaxFen LabTai(3).Caption = 得 分 amp。 12 圖 55 退出游戲界面 Quit game interface 用 msgbo