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

正文內(nèi)容

基于mfc和vc60的連連看系統(tǒng)設(shè)計論文(編輯修改稿)

2024-11-29 18:35 本頁面
 

【文章內(nèi)容簡介】 個物件來對他們進行消除操作,直到將游戲區(qū)域中的所有方塊對都被消除后為勝利,并且給予破記錄后的沈陽航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(論文) 7 提示功能。 對于資源的需求,圖片資源必不可少,游戲中的小 方塊是一組圖片資源,選用兩組圖案和排列完全相同但是背景色不同的兩組圖片作為小方塊的初始狀態(tài)和選定狀態(tài),每張圖片共 20 個人物。為了使游戲更具娛樂性,背景音樂及音效的添加也是必不可少的,所以此游戲程序也加入了的音樂文件資源。 沈陽航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(論文) 8 第 3 章 總體設(shè)計 開發(fā)工具和運行環(huán)境 開發(fā)工具 本程序采用 Microsoft Visual C++ 作為開發(fā)工具。 Visual C++是一個功能強大的可視化軟件開發(fā)工具。自 1993 年 Microsoft 公司推出 Visual C++ 后,隨著其新版本的不斷問世, Visual C++已成為專業(yè)程序員進行軟件開發(fā)的首選工具。 雖然微軟公司推出了 Visual C++.NET(Visual C++),但它的應(yīng)用的很大的局限性,只適用于 Windows 2020,Windows XP 和 Windows 。所以實際中,更多的是以 Visual C++ 為平臺。 Visual C++ 不僅是一個 C++編譯器,而且是一個基于 Windows 操作系統(tǒng)的可視化集成開發(fā)環(huán)境( integrated development environment,IDE)。 Visual C++ 由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)?AppWizard、類向?qū)?Class Wizard 等開發(fā)工具。 這些組件通過一個名為 Developer Studio 的組件集成為和諧的開發(fā)環(huán)境。 Visual C++ 它大概可以分成三個主要的部分: ⑴ Developer Studio,這是一個集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?99%都是在它上面完成的,再加上它的標題赫然寫著 “Microsoft Visual C++”,所以很多人理所當然的認為,那就是 Visual C++了。其 實不然,雖然 Developer Studio 提供了一個很好的編輯器和很多 Wizard,但實際上它沒有任何編譯和鏈接程序的功能,真正完成這些工作的幕后英雄后面會介紹。我們也知道, Developer Studio 并不是專門用于 VC 的,它也同樣用于 VB, VJ, VID 等 Visual Studio 家族的其他同胞兄弟。所以不要把Developer Studio 當成 Visual C++, 它充其量只是 Visual C++的一個殼子而已。這一點請切記! ⑵ MFC。從理論上來講, MFC 也不是專 用于 Visual C++, Borland C++,C++Builder 和 Symantec C++同樣可以處理 MFC。同時,用 Visual C++編寫代碼也并不意味著一定要用 MFC,只要愿意,用 Visual C++來編寫 SDK 程序,或者使用 STL,ATL,一樣沒有限制。不過, Visual C++本來就是為 MFC 打造的, Visual C++中的許沈陽航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(論文) 9 多特征和語言擴展也是為 MFC 而設(shè)計的,所以用 Visual C++而不用 MFC 就等于拋棄了 Visual C++中很大的一部分功能。但是, Visual C++也不等于 MFC。 ⑶ Platform SDK。這才是 Visual C++和整個 Visual Studio 的精華和靈魂,雖然我們很少能直接接觸到它。大致說來, Platform SDK 是以 Microsoft C/C++編譯器為核心(不是 Visual C++,看清楚了),配合 MASM,輔以其他一些工具和文檔資料。上面說到 Developer Studio 沒有編譯程序的功能,那么這項工作是由誰來完成的呢?是CL,是 NMAKE,和其他許許多多命令行程序,這些我們看不到的程序才是構(gòu)成 Visual Studio 的基石。 運行環(huán)境 運行環(huán)境首先需要操作系統(tǒng)的支持,開發(fā)本程序使用 Microsoft Windows XP 操作系統(tǒng),為使開發(fā)連連看游戲程序能穩(wěn)定運行,在硬件上至少需要奔騰 3CPU 做保證,內(nèi)存不低于 64MB, 40G 硬盤空間,對顯卡要求不高,都能滿足顯卡需求,還有音響用于播放音樂。 保證了以上的配置,就能保證使用 Microsoft Visual C++ 在 Microsoft Windows XP 系統(tǒng)中開發(fā)連連看游戲程序環(huán)境的可行性。 功能模塊設(shè)計 本程序共分為三個模塊,即游戲模塊、選 項模塊和幫助模塊。 在游戲模塊中下分為初級子模塊、中級子模塊、高級子模塊、停止子模塊和退出子模塊。對于初級子模塊、中級子模塊和高級子模塊通過圖片種類以及方塊數(shù)量的不同加以區(qū)分。退出子模塊用于退出游戲程序。 選項模塊中下分為提示子模塊、重列子模塊、暫停子模塊、音樂子模塊、音效子模塊以及積分榜子模塊。提示子模塊和重列子模塊作為游戲的特殊功能,增加游戲的趣味性。暫停子模塊可以暫停游戲。音樂子模塊和音效子模塊可以相互切換,用以清晰的顯示音樂和音效的效果。積分榜子模塊用于記錄游戲的積分信息,并且對于破記錄給予提示。 幫助模塊中下分為關(guān)于連連看子模塊和幫助子模塊。關(guān)于連連看子模塊主要介紹一下連連看的游戲方法。幫助子模塊用于介紹本游戲的一些特殊功能的使用方法。 沈陽航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(論文) 10 圖 功能模塊圖 算法 設(shè)計 游戲地圖數(shù)據(jù)的設(shè)計 對于整個游戲區(qū)域,可以把它看作一個是由信息顯示區(qū)域和圖案方塊游戲區(qū)域組成的地圖。信息顯示區(qū)域可以通過使用鉛筆工具修改屬性直接在需要的位置上畫出即可實現(xiàn)。圖案方塊游戲區(qū)域由圖案小方塊零散地分布在地圖的不同位置區(qū)域,并且每一個圖案小方塊都有與其對應(yīng)的完全 一樣的另外一個小方塊。圖案方塊游戲區(qū)域被抽象成一個有坐標位置屬性的平面,平面上零散的地分布著若干個小方塊,并且這些小方塊的人物圖案起碼是成對出現(xiàn)的,可以把游戲區(qū)域地圖用一個數(shù)組 llk_map[i][j]來表示, llk_map[i][j]是把地圖設(shè)計成一個動態(tài)分配的 int 整型一維數(shù)組,對地圖中的行列數(shù)的表達,用一個轉(zhuǎn)換法即可。 在游戲開始前,需要對游戲的地圖進行初始化。設(shè)計一個初始化的類,信息的顯示直接調(diào)用繪圖類即可。對于方塊地圖游戲區(qū)域的初始,設(shè)計初級為 8 9 大小的區(qū)域,中級為 9 10 大小的區(qū)域,高級設(shè)計為 12 10 大小的區(qū)域。人物的種類共計 20個圖案,首先通過 srand ()設(shè)定 隨機數(shù)發(fā)生 ,然后通過 rand()函數(shù)進行圖片種類數(shù)量的選擇。至此,游戲地圖的設(shè)計完畢。 連連看主程序 游戲 選項 幫助 初級 中級 高級 停止 退出 重列 提示 暫停 音樂 音效 積分榜 關(guān)于 幫助 沈陽航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(論文) 11 圖案方塊連接判斷的設(shè)計 對于選中的兩個方塊的銷毀,它們必須符合以下三個條件: ⑴ 選中的兩個圖案相同。 ⑵ 選中的兩個方塊之間在沒有障礙物的情況下,可以用若干垂直的直線線段連起來。 ⑶ 這些將它們連接起來的直線線段的折點不超過兩個。 同種物件的連 接方式大致可以分成以下 3 種: ⑴ 直連方式。在直連方式中,必須要求所選定的兩個方塊在同一水平直線上,并且兩個方塊之間沒有任何其它的圖案方塊。在 3 種連接方式中,直連方式是最簡單的。 ⑵ 有一個折點的垂直線段連接。所選定的兩個方塊如果通過折點的方式連接,那么對于折點來說,每個折點必定有且至少有一個坐標是和其一個目標點是相同的,即折點必定在兩個目標點所在的 X 方向或 Y 方向的直線上。此外,對于一個折點連接的情況,折點應(yīng)該為第一個選中方塊的橫向現(xiàn)或縱向線與第二 個選中方塊的縱向線或橫向線相交而得出。還需說明的是,是這些所有可能連接的交線經(jīng)過的每一個圖案方塊區(qū)域,它們都不允許被障礙物所阻擋。 ⑶ 有兩個折點的垂直線段連接。這種方式的兩個折點所連成的直線與兩物件的直接連線可以構(gòu)成平行線,因此可以根據(jù)這個規(guī)律,將這條水平線在游戲區(qū)域允許的條件上下移動,然后通過判斷整條帶垂直折點的曲線之間有無障礙物方式來確定是否可以聯(lián)通。 經(jīng)過上面較為詳細的分析后,對選定的方塊是否可以作抵消操作可以這樣去設(shè)計,首先,對簡單的直連情況進行判斷,看其是否符合條件 ,假如不能,再加深一個級別的復(fù)雜度,對一個折點的情況進行判斷,如果不符合條件,再對兩個折點的情況進行判斷。 游戲勝利判斷算法設(shè)計 與前面的兩個選定方塊能否抵消的判斷功能相比,它的實現(xiàn)顯得相當簡單,只需對圖案方塊游戲區(qū)域所有方塊進行判斷就可以了,只要檢測到地圖中還有一個圖案方塊還沒有被抵消,并且游戲的級別不是高級,則證明游戲還沒有結(jié)束,完成判斷。如沈陽航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(論文) 12 果時間耗盡,或者在沒有生命點數(shù)時出現(xiàn)死局,則終止游戲。如果通過初級、中級后進入高級,并且地圖中的所有小方塊都被消除,則證明游戲已經(jīng)勝利,如果打破記錄,會彈 出提示。 游戲道具算法設(shè)計 在此游戲中的道具有重排和提示兩種,在游戲進行的過程中,如果玩家暫時找不到可解的小方塊,就可以使用道具功能。重排功能是在原小方塊位置不變的情況下,重新排列圖案的順序,以找到可解的小方塊。提示功能用于提示玩家一組可解的小方塊,便于玩家可以繼續(xù)進行游戲。 對于重排功能的實現(xiàn),首先將所有小方塊的位置編號暫時保存到內(nèi)存中,然后隨機地分布在有小方塊的位置上,通過隨機函數(shù)實現(xiàn)此功能。 對于提示功能,首先編寫一個檢查連接的類,判斷選中的兩個小方塊是否可以進行消除操作,這個類可以被提示功 能函數(shù)調(diào)用,也可以在檢查是否有解時被調(diào)用。在提示功能中,首先調(diào)用檢查連接的類查找到一個可以連接的小方塊,并且標記,然后更改其為選中狀態(tài),即改變顏色以達到醒目,用來提示玩家。 相關(guān)技術(shù)與重點難點 相關(guān)技術(shù) GDI(Graphics Device Interface,圖形設(shè)備接口 )主要負責在顯示屏幕和打印設(shè)備等方面輸出圖像信息,是一組通過 C++類實現(xiàn)的應(yīng)用程序編寫接口。作為一個設(shè)備接口,它可以使得開發(fā)人員在將信息輸出于屏幕或打印機之時無需考慮具體的目標輸出的硬件特性,只需調(diào)用 GDI 庫的一些方法進 行操作即可,而具體的繪圖工作由特定的設(shè)備驅(qū)動來完成,從而使開發(fā)人員能輕松地在不同的硬件中做圖像繪制輸出。 繪圖方案設(shè)計采用內(nèi)存位圖映射的方式,先將整個游戲區(qū)域的圖象繪制到內(nèi)存位圖中去,然后再一次性地將它加載到屏幕上予以顯示。先在內(nèi)存創(chuàng)建兩個內(nèi)存位圖,并對它們的圖象進行載入。在需要使用的時候,則可以從這些內(nèi)存位圖中直接去拷貝,并繪制到游戲區(qū)域內(nèi)存位圖中去。 對框架位圖及人物位圖分別創(chuàng)建相應(yīng)的設(shè)備環(huán)境,并且為它們分配了關(guān)聯(lián)的內(nèi)存位圖變量。而對于游戲區(qū)域的繪制,亦為它創(chuàng)建了一個內(nèi)存設(shè)備環(huán)境以及關(guān)聯(lián)的內(nèi)存沈陽航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(論文) 13 位圖。完成 以上工作后,需要在程序開始運行的時候,一次性地對它們進行適當?shù)某跏蓟? 此游戲程序的關(guān)鍵在于游戲的繪圖方案,是此程序的難點,在此程序中的繪圖方案通過 GDI 技術(shù)實現(xiàn)。 系統(tǒng)的重點難點 此程序的重點是鼠標的交互功能。通過 ClassWizard 對鼠標左鍵被按下時觸發(fā)的命令消息進行攔截技術(shù)來實現(xiàn)。因為游戲的全部過程需要依靠鼠標操作,所以鼠標交互功能的設(shè)計是否人性化就成了此連連看游戲程序的重點。 此程序的難點是連連看游戲程序的連接線功能。首先編寫一個創(chuàng)建路徑的類,通過這個類使游戲中消除小方塊時能夠找到一條可 以連接的路徑進行連線,然后通過一個畫線的類進行連接。 沈陽航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(論文) 14 第 4 章 詳細設(shè)計 功能模塊設(shè)計與實現(xiàn) 此連連看游戲程序根據(jù)模塊的性質(zhì)分為以下幾大類: 基本功能模塊,主要通過游戲的菜單顯示出來,分為游戲模塊、選項模塊以及幫助模塊。游戲繪圖模塊,包括小方塊圖案的載入以及游戲地圖背景的繪制。游戲交互模塊,主要是快捷鍵和鼠標交互功能的實現(xiàn)。游戲算法模塊,包括游戲的連接判斷算法以及游戲勝利判斷的算法。 游戲模塊設(shè)計與實現(xiàn) 游戲模塊中下分為初級子模塊、中級子模塊、高級子模塊、停止子模塊和退出子模塊。對于這三個不同 的級別分別設(shè)置三個不同大小的地圖,初級設(shè)為 8 9 的地圖,即橫向為八個小方塊,縱向為九個小方塊。同理,中級設(shè)為 9 10 的地圖,高級設(shè)為12 10 的地圖。人物種類共有 20 種,對于初級來說,由于地圖的大小為八行九列共72 個小方塊,每個種類的人物設(shè)定出現(xiàn) 6 次為偶數(shù),這樣就可以實現(xiàn)成對的出現(xiàn)了,在游戲中可以完成配對。這樣以來,共 72 個小方塊且每個人物出現(xiàn) 6 次,也就是說,共有 12 個人物。同理,對于中級,共 90 個小方塊且每個人物出現(xiàn) 6 次,也就是說,共有 15 個人物。對于高級,共 120 個小方塊且每個人物出現(xiàn) 6 次,共有 20 個人 物。這樣,初級、中級和高級就可區(qū)分開來了。初級、中級和高級不可同時處于
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1