freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vb的掃雷游戲的設(shè)計與開發(fā)(編輯修改稿)

2025-01-12 09:28 本頁面
 

【文章內(nèi)容簡介】 等待按鍵 左 鍵鍵 右鍵 顯示方塊 1. 布置地圖 2. 啟動計時器 顯示分數(shù) 結(jié) 束 延按下方塊周圍展開非地雷方塊 否 否 是 是 否 是 否 第一次按下 按 下方塊是否為地圖 第一次按下 是否再 玩 第 6 頁 共 18 頁 圖 2規(guī)劃樣圖 說明如下: ①:游戲窗口( Form) 。為了避免因改變窗口大小而造成畫面呈現(xiàn)不美觀,在這里將 BorderStyle 屬性設(shè)定為 3(雙線固定對話框),即無法以窗口邊緣進行窗口大小調(diào)整。 ②:地雷數(shù)顯示區(qū)( PictureBox)。 ③:游戲狀態(tài) (Image)。 ④:游戲時間顯示區(qū) (PictureBox)。 ⑤:計數(shù)及狀態(tài)區(qū) (PictureBox)。 ⑥:地圖區(qū)圖樣 (Image)。 ⑦:地雷區(qū) (PictureBox)。 ⑧:存儲圖片的組件,包括游戲狀態(tài)圖片、地雷區(qū)圖片、地 雷數(shù)及秒數(shù)數(shù)字圖片 (Imagelist)。 ⑨:秒數(shù)控制 (Timer)。 3 游戲的詳細設(shè)計 游戲初始化 當玩家開始游戲時,游戲畫面如圖 3 所示: ② ③ ⑤ ⑥ ⑦ ⑧ ⑨ ① ④ 第 7 頁 共 18 頁 圖 3游戲初始畫面 我們可以清楚的看到,游戲界面主要分為兩個主要部分: 1. 計數(shù)及狀態(tài)區(qū) ;。 首先我利用 PictureBox 組件, PictureBox 為容器類型的組件,因此可以加入其他組件在其內(nèi)。在游戲中我利用了 PictureBox 組件的兩個特性,分別為容器特性及立體框線,具體如下: (1)容器特性:只要容器本身顯示的行為改變,在容器內(nèi)的組件也會跟 著改變。當游戲初始時,地雷區(qū)的顯示組件會循環(huán)執(zhí)行,逐一布置在畫面上,但由于執(zhí)行循環(huán)時多個 Image 組件要顯示圖形,造成分時系統(tǒng)執(zhí)行頻率顯示上會出現(xiàn)不流暢的情形,若在循環(huán)執(zhí)行前,先將容器本身的 Visable 屬性設(shè)為 False,在循環(huán)執(zhí)行完成后再將 Visable 屬性設(shè)為 Ture,則顯示就會變得流暢許多。 (2)立體 框線:通過組件本身立體框線的屬性設(shè)定,可以為游戲畫面的顯示上營造出層次感。 然后再利用 ImageList 組件來存儲游戲中將要使用的圖片,我們可以將組件布置于窗體后編輯組件屬性,如圖 4 所示: 圖 4 通過 InsertPicture 和 RemovePicture 按鈕即可編輯組件所存放的圖片。 計數(shù)及狀態(tài)區(qū) 地雷區(qū) 第 8 頁 共 18 頁 利用 ImageList 集合對象的 Picture 方法,即可將 ImageList 組件內(nèi)的圖片指定給圖形顯示組件,語法如下: Set 圖形組件 . Picture=ImageList. ImageList(圖片索引 ). Picture 因為一個 ImageList 組件內(nèi)必須存儲大小相同的圖片,所以在游戲中顯示的圖片共分為三個部分: ; ; 。 所以我們使用了三個 ImageList 組件來 存儲不同大小的圖片。 接著便是對地雷區(qū)的初始化,這里我們利用 Load 及 UnLoad 指令,動態(tài)新增 及刪除組件。在游戲的地雷區(qū),我們依照游戲者自定義的地圖類型,來布置未探測地雷方塊。假如設(shè)定的地圖大小為 20 30 時,我們可以通過雙循環(huán)For… Next 及 Load 指令在程序執(zhí)行階段動態(tài)加載表示方塊的組件,程序片段如下 : ‘加載表示地圖資料的圖片 For y = 0 To 20 ‘地雷區(qū)高 For x = 0 To 30 ‘地雷區(qū)寬 Load 表示方塊組件( index) ‘設(shè)定組件位置 …… Next x Next y 經(jīng)過雙循環(huán)的運算,程序就會產(chǎn)生 20 30=600 個組件,試想如果在程序設(shè)計階段,就把 600 個組件布置在窗體上,那將是多么沒有效率的事情,況且組件數(shù)量的多少,還要取決于游戲玩家設(shè)定的地雷區(qū)大小,所以利用 Load 指令對于大量加載同一組件的動作將有莫大的幫助。 加載組件后必須將組件做適當?shù)牟贾?,我們可以通過 Image 組件的 Move 屬性,將組件布置于預(yù)定的位置, Move 函數(shù)的原型如下: 組件 .Move X 坐標, [Y 坐標 ], [組件寬度 ], [組件高度 ] (其中括號內(nèi)表示可以省略) 再配合雙循環(huán)的變量值,可 以控制組件布置于窗體的方向及方式,例如以下程序片段: For y = 0 To 20 ‘地雷區(qū)高 For x = 0 To 30 ‘地雷區(qū)寬 Load 表示方塊組件( index) ‘設(shè)定組件位置 …… 組件( index) .Move x *組件寬度, y *組件高度 Next x 第 9 頁 共 18 頁 Next y 組件將呈現(xiàn)先由左至右,再由上至下布置。 若將內(nèi)循環(huán)改為 y 值,同樣的 Move 指令,組件的布置方向?qū)⒂缮隙略儆勺笾劣摇2贾梅较虻牟煌?,會關(guān)聯(lián)到組件內(nèi)含的索引值不同,相對在程序執(zhí)行階段存取組件時, 所定義的組件索引值就必須考慮組件不止的方向,這樣才不會造成組件存取的錯誤。以由左至右再由上而下的布置方式為例,我們可以利用以下公式,求得組件索引值:組件索引值 =( X 坐標 +Y 坐標 *數(shù)組寬度) 這樣,游戲界面的初始化工作就基本完成了,下面就是地雷的隨機產(chǎn)生。 當游戲界面初始化完成后,這時在地雷區(qū)中并未產(chǎn)生地雷,只有當玩家在地雷區(qū)中第一次點下左鍵后,才會在地雷區(qū)中隨機的布置當前游戲難度下應(yīng)該產(chǎn)生的地雷總數(shù),其主要用意在于不讓玩家第一次就踩到地雷,這樣 在某種程度上可以提高玩家游戲的氣憤。具體實現(xiàn)如下所示: 39。判斷地雷區(qū)是否處于可動作狀態(tài) If isDie = False And isFinal = False Then xxx = index Mod MAP_X 39。標示動作圖片的坐標 yyy = index \ MAP_X 39。判斷為左鍵且該方塊為未探測狀態(tài) If Button = 1 And mapFaceArr(xxx, yyy) = 1 Then 39。判斷游戲是否等待啟動 If isStart = False Then cMINE_NUM = MINE_NUM isStart = True = True 39。布置地雷 Do While cMINE_NUM 0 rX = Rnd() * (MAP_X 1) rY = Rnd() * (MAP_Y 1) 39。判斷數(shù)組中 (rX,rY)為非地雷及 39。非點選的方塊坐標時 第 10 頁 共 18 頁 If mapArr(rX, rY) 9 And _ Not (rX = xxx And rY = yyy) Then cMINE_NUM = cMINE_NUM 1 mapArr(rX, rY) = 9 39。地雷外圍數(shù)字各加一 For xx = rX 1 To rX + 1 For yy = rY 1 To rY + 1 If xx =
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1