VB掃雷小游戲

VB掃雷小游戲

ID:46767546

大?。?5.29 KB

頁數(shù):4頁

時(shí)間:2019-11-27

VB掃雷小游戲_第1頁
VB掃雷小游戲_第2頁
VB掃雷小游戲_第3頁
VB掃雷小游戲_第4頁
資源描述:

《VB掃雷小游戲》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、VB掃雷小游戲1.游戲功能分析掃雷小游戲需要做哪些功能呢?在開始游戲后,程序需要根據(jù)難度系數(shù)自動(dòng)生成一片雷區(qū),雷區(qū)包含少數(shù)地雷和多數(shù)空地,在規(guī)定時(shí)間內(nèi)找出雷區(qū)中的所有地雷即可勝利。左鍵點(diǎn)擊地雷會(huì)導(dǎo)致游戲失敗,并給出所有地雷的位置;右鍵點(diǎn)擊地雷或者空地都會(huì)在上面標(biāo)記一面小旗,但右鍵點(diǎn)擊地雷時(shí),剩余地雷數(shù)會(huì)-1,而點(diǎn)擊空地時(shí)不會(huì)。每次右鍵標(biāo)記地雷后,都要判斷剩余地雷數(shù)是否為0,是的話就勝利了。2.控件分析通過以上的游戲功能分析可以得到我們需要用到的控件。在游戲提示方面,我們需要1個(gè)標(biāo)簽lblbomb來顯示雷數(shù),1個(gè)標(biāo)簽lbltime來顯示剩余時(shí)間,一

2、個(gè)timer1來計(jì)時(shí),1個(gè)按鈕cmdstart作為開始游戲的按鈕。并且把以上控件全放如一個(gè)框架frame1中。在雷區(qū)這里,我們需要1個(gè)按鈕來表示空地,并設(shè)置index為0;1個(gè)按鈕來表示地雷,并設(shè)置index為0;一個(gè)標(biāo)簽來顯示周圍地雷數(shù),并設(shè)置index為0.在游戲開始后,需要根據(jù)游戲難度加載出空地按鈕和地雷按鈕以及顯示周圍地雷數(shù)得標(biāo)簽按鈕下面給出主要控件的名稱及主要參數(shù)【說明】【名稱】【index】空地按鈕Cmd00地雷按鈕Cmd10標(biāo)簽按鈕lblnum0在調(diào)試過程中可以將空地按鈕的caption設(shè)置為0,地雷按鈕的caption設(shè)置為1,便

3、于調(diào)試。3.變量參數(shù)分析主要游戲參數(shù):PubliclevelAsInteger'游戲難度PubliccmdnumAsInteger'雷區(qū)所有按鈕數(shù)目PublicbombnumAsInteger'地雷數(shù)目PublictimerestAsInteger'剩余時(shí)間Publicmatrix()AsInteger'雷區(qū)矩陣,0代表空地,1代表地雷PublicbombrestAsInteger'剩余地雷數(shù)這里我們?cè)O(shè)置雷區(qū)為正方形,此正方形的一條邊上有幾個(gè)按鈕,難度就是幾,所以有cmdnum=level^2。設(shè)置地雷數(shù)為按鈕總數(shù)的七分之一bombnum=cmd

4、num7,注意是整除。游戲開始時(shí)bombrest=bombnum。matrix()是動(dòng)態(tài)數(shù)組,在游戲設(shè)置難度以后,Redimmatrix(level,level)即可,用來儲(chǔ)存游戲雷區(qū)的情況,為0代表是空地,為1代表是地雷。主要界面參數(shù):PubliclkasInteger'界面周圍的留空PublicswasInteger'雷區(qū)每個(gè)按鈕的寬PublicshasInteger'雷區(qū)每個(gè)按鈕的高通過以這三個(gè)參數(shù)為基底,可以很方便的給出每個(gè)按鈕的坐標(biāo)位置。4.功能實(shí)現(xiàn)分析主要游戲代碼思路:窗體加載時(shí),將cmd0,cmd1,lblnum設(shè)置為不可見,ti

5、mer1設(shè)置為不可用。點(diǎn)擊開始時(shí),首先inputbox輸入難度系數(shù),若輸入數(shù)字小于5,則難度等于5;若輸入數(shù)字大于15,則難度等于15;輸入數(shù)字在5到15之間,則難度等于該輸入數(shù)字。根據(jù)level求出所有游戲參數(shù)信息cmdnum=level^2bombnum=cmdnum7bombrest=bombnum設(shè)置界面參數(shù)lk=300,sw=600,sh=600,設(shè)置剩余時(shí)間timerest=300重定義動(dòng)態(tài)數(shù)組Redimmatrix(level,level),以及給出每個(gè)位置的值,代碼如下ReDimmatrix(level,level)Random

6、izeDimrAsInteger'隨機(jī)數(shù)Fori=1Tobombnum'在矩陣內(nèi)放置bombnum個(gè)1,其他位置為0r=Int(cmdnum*Rnd)+1'隨機(jī)范圍1到cmdnumj=(r-1)level'根據(jù)隨機(jī)數(shù)得到坐標(biāo)(j,k)k=(r-1)ModlevelIfmatrix(j,k)<>1Then'如果(j,k)位置未放置地雷,就放上matrix(j,k)=1Else'已經(jīng)放置地雷了,則再重來一次i=i-1EndIfNexti對(duì)窗體大小的設(shè)置Frame1.Left=0Frame1.Top=0Frame1.Width=level*sw+2*

7、lkFrame1.Height=800Form1.Width=level*sw+2*lkForm1.Height=level*sh+2*lk+Frame1.Height+lk對(duì)于控件的加載以及初始設(shè)置,首先加載出所需要數(shù)量的控件,然后我們需要根據(jù)matrix的值來一個(gè)一個(gè)放置控件,并調(diào)節(jié)控件的屬性,比如放置炸彈即cmd1的代碼如下Dimp1asIntegerp1=0'第p1個(gè)炸彈Fori=0Tolevel-1Forj=0Tolevel-1Ifmatrix(i,j)=1ThenDimcmdAsCommandButton'放炸彈Setcmd=Cmd1

8、(p1)cmd.Top=Frame1.Height+lk+i*shcmd.Left=lk+j*swcmd.Width=sw-20'每個(gè)按

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。