【正文】
ger) MINE_NUM_CLEAR=MINE_NUM_CLEAR+1 For xx=x1 To x+1 For yy=y1 To y+1 If xx=0 And xx=MAP_X And _ yy=0 And yy=MAP_Y Then If Not(xx=x And yy=y)Then If mapFaceArr(xx,yy)=1 And _ mapArr(xx,yy)=0 And _ mapArr(xx,yy)=8 Then mapFaceArr(xx,yy)=0 Select Case mapArr(xx,yy) Case 0 Call setMineImage((yy*MAP_X+xx),10) Call doClear(xx,yy,(yy*MAP_X+xx)) Case 1To 8 MINE_NUM_CLEAR=MINE_NUM_CLEAR+1 Call setMineImage((yy*MAP_X+xx),mapArr(xx,yy)) End Select End If End If End If Next yy Next xx End Sub 游戲難度的選擇 這里我設(shè)置了 初級 , 中級 , 高級 以及 自定義 四個不同的難度級別,初級 , 中級 , 高級 中的雷區(qū)大小和地雷總數(shù)是已經(jīng)設(shè)計好了的,如果玩家想要自己設(shè)置這些參數(shù),可單擊 游戲 → 自定義 ,然后在 設(shè)置 中輸入行數(shù),列數(shù)及地雷數(shù),在這里我對行數(shù)及列數(shù)做出了一個限定,及行數(shù)和列數(shù)的最大值分別為 24和 30,當(dāng)在設(shè)置地雷數(shù)的時候,如果地雷數(shù)大于或等于行數(shù)和列數(shù)的乘積 ,或者地雷數(shù)小于零,地雷數(shù)都將自動的轉(zhuǎn)換為:地雷數(shù) =(行數(shù) 1) (列數(shù) 1)。 游戲的判斷 游戲成功完成 當(dāng)在規(guī)定的時間內(nèi)將所有的雷都正確的標(biāo)示出來,游戲就會有一個彈出框提示你在多長時間內(nèi)完成當(dāng)前難度下的游戲。 還有一種情況便是當(dāng)只剩下地雷未探測的時候,及雷區(qū)方塊總數(shù) 已清除的方塊數(shù) =地雷總數(shù)的話,游戲也將成功完成。 游戲失敗 當(dāng)鼠標(biāo)左鍵按下的方塊為地雷方塊事,地雷將會被引爆,游戲立即結(jié)束。 當(dāng)在設(shè)定時間內(nèi)未探測完所有的地雷,地雷也將會引爆,對于這第二種行為,我們可以通過 Timer 組件來加以控制。利用 Timer 組件在固定時間即會觸發(fā)時間的特性,在事件觸發(fā)時便將計數(shù)值加一,直到判斷計數(shù)值超過限定值時,即地雷引爆。具體代碼如下所示: 39。定時器 Private Sub Timer1_Timer() TIME_COUNTER=TIME_COUNTER+1 39。時間計數(shù)顯示 Call setNowTimer 39。設(shè)定狀態(tài)圖示 If TIME_COUNTER=999 Then isDie=True =False mapFaceArr(xxx,yyy)=0 Call showMine 39。設(shè)定狀態(tài)圖示 Call setStateImage MsgBox您探測地雷的時間已超過,地雷已引爆。,超時 End If End Sub 4 游戲測試結(jié)果 在程序代碼基本完成后,經(jīng)過不斷的調(diào)試與修改,最后測試本次所設(shè)計的掃雷游戲能夠正常運(yùn)行,在基本功能與畫面上與 Windows 自帶的掃雷游戲沒有太大差別,沒有出現(xiàn)明顯的錯誤和漏洞,但是在一些細(xì)節(jié)方面仍然需要完善,比如在游戲中可以加入一些聲音的提示,在游戲完成和失敗的時候可以彈出一些小的 Flash 動畫,還有就是可以加入一個掃雷英雄榜等等??偟膩碚f本次設(shè)計在功能上已經(jīng)基本達(dá)到要求,其他細(xì)節(jié)方面有待以后完善。 結(jié)論 畢業(yè)設(shè)計是本科學(xué)習(xí)階段一次非常難得的理論與實(shí)際相結(jié)合的機(jī)會,通過這次比較完整的一個程序的設(shè)計,我擺脫了單 純的理論知識學(xué)習(xí)狀態(tài),和實(shí)際設(shè)計的結(jié)合鍛煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識,解決實(shí)際問題的能力,同時也提高我查閱文獻(xiàn)資料、對程序整體的把握等其他能力水平,而且通過對整體的掌控,對局部的取舍,以及對細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗(yàn)得到了豐富。這是我們都希望看到的也正是我們進(jìn)行畢業(yè)設(shè)計的目的所在。 雖然畢業(yè)設(shè)計內(nèi)容繁多,過程繁瑣但我的收獲卻更加豐富。各種組件的運(yùn)用,各種算法的應(yīng)用,各種控件的利用我都是隨著設(shè)計的不斷深入而不斷熟悉并逐步掌握的。和老師以及同學(xué)的溝通交流更使我對程序整體的規(guī)劃與設(shè)計有了新 的認(rèn)識也對自己提出了新的要求。 提高是有限的但提高也是全面的,正是這一次設(shè)計讓我積累了許多實(shí)際經(jīng)驗(yàn),也必然會讓我在未來的工作學(xué)習(xí)中表現(xiàn)出更高的應(yīng)變能力和理解力。 順利如期的完成本次畢業(yè)設(shè)計給了我很大的信心,但是也讓我看到了自己許多不足的地方,學(xué)習(xí)其實(shí)就是一個不斷完善的過程,正視自己的不足之處,在以后的工作和學(xué)習(xí)中不斷的彌補(bǔ)這些不足之處,在以后的生活中也要保持同樣的態(tài)度,不斷的完善自己。 參考文獻(xiàn) [1]唐任仲 .工程應(yīng)用軟件開發(fā)技術(shù) [M].北京:化學(xué)工業(yè)出版社, 1999。 [2]李懷明 .Visual Basic 中文版參考詳解 [M].北京:清華大學(xué)出版社,1999。 [3]李善茂 .Visual Basic 高級編程技巧 [M].西安:電子工業(yè)出版社,1999。 [4]譚浩強(qiáng) .Visual Basic 中文版提高與應(yīng)用 [M].西安:電子工業(yè)出版社, 1999。 [5]馮鋒 ,王運(yùn)堅 .Visual Basic 程序設(shè)計基礎(chǔ)教程 [M].西安:電子工業(yè)出版社, 1999。 [6]何斌 ,劉醒 .Visual Basic 應(yīng)用指南 [M].成都:四川大學(xué)出版社,1998。 [7]伍俊良 .VB 課程設(shè)計與系統(tǒng)開發(fā)案例 [M].北京:清華大學(xué)出版社, 2021。 MSN 空間完美搬家到新浪博客! 特別聲明: 1:資料來源于互聯(lián)網(wǎng),版權(quán)歸屬原作者 2:資料內(nèi)容屬于網(wǎng)絡(luò)意見,與本賬號立場無關(guān) 3:如有侵權(quán),請告知,立即刪除。