資源描述:
《基于vb掃雷游戲程序設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、唐山學(xué)院課程設(shè)計目錄1引言12VisualBasic概況22.1VB簡介22.2本設(shè)計運用的技術(shù)23可行性分析64總體設(shè)計74.1設(shè)計構(gòu)想74.2流程規(guī)劃75詳細(xì)設(shè)計95.1畫面規(guī)劃95.2設(shè)計過程105.2.1添加菜單105.2.2自定義窗體設(shè)計105.2.3關(guān)于窗體設(shè)計115.4運行界面126系統(tǒng)測試13結(jié)束語14參考文獻(xiàn)16附錄1728唐山學(xué)院課程設(shè)計1引言本論文研究的是以VisualBasic6.0為開發(fā)環(huán)境,設(shè)計并開發(fā)一款掃雷游戲,其功能類似于Windows操作系統(tǒng)自帶的掃雷游戲?論文首先介紹了制作游戲的整體思路及整個游戲設(shè)
2、計的流程規(guī)劃,然后介紹了雷區(qū)的布置及地雷隨機產(chǎn)生的實現(xiàn)方法;重點介紹了在游戲過程中各事件的處理,其中又以鼠標(biāo)事件和清除未靠近地雷區(qū)方塊這兩方面最為重要,鼠標(biāo)事件是利用鼠標(biāo)所發(fā)出的信息了解使用者的意圖,進(jìn)而做出相對應(yīng)的動作,而清除未靠近地雷區(qū)方塊由于引進(jìn)了“遞歸”這個概念而使其簡單化?掃雷游戲是WINDOWS系統(tǒng)自帶的一個娛樂性的小游戲,在玩掃雷游戲的過程中也可以很好的培養(yǎng)耐心和細(xì)心,同時在無聊得時候可以用以休閑娛樂,如果我們自己也能動手做一個小程序來實現(xiàn)這個功能,自然能樂在其中。本次設(shè)計只是完成了掃雷游戲的基本功能,在細(xì)節(jié)方面仍有待完
3、善?2VisualBasic概況2.1VB簡介28唐山學(xué)院課程設(shè)計VISUALBASIC是微軟公司出品的一個快速可視化程序開發(fā)工具軟件。借助微軟在操作系統(tǒng)和辦公自動化軟件的壟斷地位,VB在短短的幾年內(nèi)風(fēng)靡全球。VB是極具特色和功能強大的軟件,主要表現(xiàn):所見即所得的界面設(shè)計,基于對象的設(shè)計方法,極短的軟件開發(fā)周期,較易維護(hù)的代碼。同時眾多的ACTIVE控件,提高了軟件的使用效率。可以用于可以開發(fā)多媒體、數(shù)據(jù)庫、網(wǎng)絡(luò)、圖形等方面的應(yīng)用程序。VB應(yīng)用程序語言的基本特點[1]:1可視化界面設(shè)計VB為用戶提供大量的界面元素(在VB中稱為控件對象
4、),這些控件對象對于熟悉WINDOWS應(yīng)用程序的用戶來說是一點也不陌生,如“窗體”,“菜單”,“命令按扭”,“工具按扭”,“檢查框”等等,用戶只要利用鼠標(biāo)、鍵盤把這些控件對象拖動到合適的位置,設(shè)置其大小、形狀、屬性等,就可以設(shè)計出所需的應(yīng)用程序界面。2事件驅(qū)動編程在使用VB設(shè)計應(yīng)用程序是,必須首先確定應(yīng)用程序如何同用戶進(jìn)行交互。例如發(fā)生鼠標(biāo)單擊、鍵盤輸入等事件是,由用戶編寫代碼控制這些事件的響應(yīng),這就是所謂的事件驅(qū)動編程。3與數(shù)據(jù)庫的連接性VISUALBASIC提供了與底層數(shù)據(jù)庫系統(tǒng)緊密的連接。VISUALBASIC支持不同的關(guān)系數(shù)據(jù)
5、庫管理系統(tǒng)并充分發(fā)揮每一個數(shù)據(jù)庫的特長。開發(fā)人員和利用內(nèi)置的高性能數(shù)據(jù)庫引擎——JET生成獨立應(yīng)用或脫離服務(wù)器運行的服務(wù)以上的應(yīng)用。2.2本設(shè)計運用的技術(shù)這個游戲里運用了VB里的組件及語法作為游戲運算和顯示,其相關(guān)語法及組件如下表1所示:表1使用的語法及組件組件及語法說明For...Next利用循環(huán)布置地雷區(qū)、按下時檢查非地雷方塊28唐山學(xué)院課程設(shè)計Load(Unload)動態(tài)加載或刪除指令產(chǎn)生表示地雷方塊圖案的Image組件Mousedown與Mouseup事件判斷按下或放開方塊時的按鍵為左鍵或右鍵Imagelist組件存儲游戲過程
6、中所需的圖案Image組件利用此顯示地雷方塊Timer組件設(shè)定觸發(fā)時間,來控制方塊游戲時間PictureBox組件利用此組件作為地雷方塊的布置區(qū)域遞歸利用遞歸展開非地雷的方塊詳細(xì)說明如下:1.For...Next循環(huán)應(yīng)用在游戲設(shè)計上,利用了兩個二維數(shù)組分別記錄地雷的分布狀況及地雷區(qū)及表面探測情形。利用數(shù)據(jù)循環(huán)的對比,不但速度快,而且在設(shè)計階段,程序的架構(gòu)比較清楚。2.Load及Unload動態(tài)增加或刪除組件利用Load及Unload指令,可動態(tài)新增及刪除組件。在游戲的雷區(qū),依照使用者自定義的地圖類型,布置未探測的地雷方塊。加載組件后,
7、通過Image組件的Move屬性,將組件布置于預(yù)定的位置。Move函數(shù)的原型如下:組件.MoveX坐標(biāo),[Y坐標(biāo)],[組件寬度][組件高度]再配合雙循環(huán)的變量值,可以控制組件布置于窗體的方向及方式。3.MouseDown與MouseUp事件在游戲過程中,利用鼠標(biāo)所發(fā)出的信息了解使用者的意圖,進(jìn)而做出相應(yīng)的動作。在MouseDown與MouseUp事件中,可以捕捉鼠標(biāo)所按下或放開的按鍵為何、鼠標(biāo)光標(biāo)在該組件上的坐標(biāo)及是否同時按下輔助鍵等。用Button參數(shù)值表示鼠標(biāo)上的按鈕數(shù)值。其意義如下:1:左鍵2:右鍵4:中央鍵若同時按下不止一個按
8、鍵時,則傳回數(shù)值為按鍵數(shù)相加。例如同時按下左鍵及右鍵,則Button值為1+2=3.在本游戲中,利用右鍵的MouseDown事件標(biāo)示“已標(biāo)示”方塊,利用左鍵的MouseDown事件,標(biāo)示使用者準(zhǔn)備按下的方塊,利用左鍵的M