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

正文內(nèi)容

基于c語言的掃雷游戲開發(fā)(編輯修改稿)

2025-01-11 02:28 本頁面
 

【文章內(nèi)容簡介】 年 )。在 1998 年, Microsoft 推出了 Visual Basic 6. 0 版本,這一版本使 VB 得到了很大的擴充和增強。它還引入了使用部件編程的概念,實際上這是對面向?qū)ο缶幊趟枷氲臄U展。迄今為止,Visual Basic 已經(jīng)發(fā)展成為快速應(yīng)用程序開發(fā) (RAD, Rapid Application Development)工具的代表。 2 游戲的總體分析與設(shè)計 設(shè)計構(gòu)想 流程規(guī)劃 流程規(guī)劃大致上可以分為三個部分,分別 為:畫面初始、游戲者按下第一個 第 4 頁 共 18 頁 方塊和為非地雷方塊時展開。 畫面初始時,以游戲者最后一次設(shè)定的地雷區(qū)大小為范圍畫出地雷區(qū),但此時并未產(chǎn)生地雷。當(dāng)游戲者按下第一個方塊時產(chǎn)生地雷資料并啟動定時器,為何在游戲者按下第一個方塊才產(chǎn)生地雷資料呢?其主要的用意在于不要讓游戲者第一次就踩到地雷,這樣在某種程度上可以提高游戲者游玩的氣氛。接著就是如何判斷按下的方塊是非地雷時的處理,這也是整個游戲的技術(shù)核心,我們可以通過遞歸的觀念來檢查周邊的方塊是否含有地雷及是否繼續(xù)往外翻開。 流程規(guī)劃如圖 1所示: 第 5 頁 共 18 頁 圖 1整體流程規(guī)劃圖 畫面規(guī)劃如圖 2所示: 是 是 開始 依照使用者初始設(shè)定 等待按鍵 左 鍵鍵 右鍵 顯示方塊 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è)計 游戲初始化 當(dāng)玩家開始游戲時,游戲畫面如圖 3 所示: ② ③ ⑤ ⑥ ⑦ ⑧ ⑨ ① ④ 第 7 頁 共 18 頁 圖 3游戲初始畫面 我們可以清楚的看到,游戲界面主要分為兩個主要部分: 1. 計數(shù)及狀態(tài)區(qū) ;。 首先我利用 PictureBox 組件, PictureBox 為容器類型的組件,因此可以加入其他組 件在其內(nèi)。在游戲中我利用了 PictureBox 組件的兩個特性,分別為容器特性及立體框線,具體如下: (1)容器特性:只要容器本身顯示的行為改變,在容器內(nèi)的組件也會跟著改變。當(dāng)游戲初始時,地雷區(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 指令對于大量加載同一組件的動作將有莫大的幫助。 加載組件后必須將組件做適當(dāng)?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ū)⒂缮隙略儆勺笾劣?。布置方向的不同,會關(guān)聯(lián)到組件內(nèi)含的索引值不同,相對在程序執(zhí)行階段存取組件時,所定義的組件索引值就必須考慮組件不止的方向,這樣才不會造成組件存取的錯誤。以由左至右再由上而下的布置方式為例,我們可以利用以下公式,求得組件索引值:組件
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1