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

正文內(nèi)容

基于mfc和vc60的連連看系統(tǒng)設(shè)計(jì)論文(參考版)

2024-10-28 18:35本頁(yè)面
  

【正文】 沈陽(yáng)航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 30 參考文獻(xiàn) [1] 羅偉堅(jiān). Visu。 感謝學(xué)校的所有老師和領(lǐng)導(dǎo),正是你們的辛勤耕耘,使我們的基礎(chǔ)知識(shí)又一次得到了鞏固,使理論能與實(shí)踐相結(jié)合,不僅完成了學(xué)業(yè),充實(shí)了自己,也更有利于我今后工作的發(fā)展。 “德能并進(jìn)、勇毅翔遠(yuǎn) ”的校訓(xùn)我將銘記于心,在未來(lái)的學(xué)習(xí)和工作中躬身踐行。 沈陽(yáng)航空工業(yè)學(xué)院 四季如歌的校園,美麗如詩(shī)的風(fēng)景都深深的留在了我的記憶里。感謝四年中一直幫助我、關(guān)心我、支持我的人們。使我克服了懶惰和投機(jī)取巧的毛病,給予了我很大的動(dòng)力,使我在畢業(yè)設(shè)計(jì)過(guò)程中學(xué)到 了很多東西,使我的畢業(yè)設(shè)計(jì)能夠順利的完成。 沈陽(yáng)航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 29 致 謝 感謝史俊老師,在畢業(yè)設(shè)計(jì)過(guò)程中,她對(duì)我的畢業(yè)設(shè)計(jì)給予悉心的指導(dǎo),從開(kāi)題到系統(tǒng)設(shè)計(jì),從程序開(kāi)發(fā)到論文的寫(xiě)作,糾正了我的許多不成熟的想法,給我提出了許多建議,更在程序開(kāi)發(fā)中遇到的最困難的時(shí)候給予開(kāi)導(dǎo),給我繼續(xù)完成設(shè)計(jì)的信心。 通過(guò)本次畢業(yè)設(shè)計(jì),提高了我對(duì)問(wèn)題的分析、解決能力,還包括對(duì)資料搜集的能力以及對(duì)英文的翻譯能力, 資料搜集有效,會(huì)對(duì)程序的進(jìn)展起到至關(guān)重要的作用。這個(gè)游戲之中,有關(guān)繪圖算法編程的知識(shí)都可以直接從無(wú)所不包的Inter 上獲取,甚至可以直接獲得一個(gè)完整的連連看游戲算法的源代碼級(jí)模塊。 通過(guò)編寫(xiě)這個(gè)程序,我體會(huì)最為 深刻的一點(diǎn)是系統(tǒng)架構(gòu)和設(shè)計(jì)模式的重要性。 經(jīng)過(guò)這段時(shí)間的學(xué)習(xí)與實(shí)踐,使我對(duì)游程的發(fā)展及現(xiàn)狀有了更深刻的認(rèn)識(shí),并對(duì)Visual C++ 軟件有了一定程度的了解,學(xué)習(xí)了 Visual C++ 的相關(guān)知識(shí)及如何利用 Visual C++ 編譯程序,特別是以前從未接觸過(guò)的 MFC 應(yīng)用程序,從了解到學(xué)習(xí),再到最后的使用,我的收獲是不可用語(yǔ)言表達(dá)的。這些功能可以把連連看游戲的娛樂(lè)性發(fā)展到一個(gè)新的高度,這些功能都會(huì)在以后的時(shí)間內(nèi)進(jìn)行不斷改善。在代碼設(shè)計(jì)上也存在不足,容易造成系統(tǒng)運(yùn)行效率的降低,這就需要在以后系統(tǒng)使用過(guò)程中逐步發(fā)現(xiàn),并不斷進(jìn)行升級(jí)。軟件開(kāi)發(fā)是一個(gè)不斷完善的過(guò)程,只有在實(shí)際的使用過(guò)程中才能不斷地發(fā)現(xiàn)問(wèn)題,從而再加以改進(jìn)。此游戲的隨機(jī)性做的不是很完美,所以在初級(jí)、中級(jí)和高級(jí)被調(diào)用之前都有刷新地圖的函數(shù)做保證,這也導(dǎo)致了代碼量很大。 在這個(gè)游戲中還有很多的不足,畢竟是第一次編寫(xiě)游戲程序,而且編寫(xiě)游戲程序的要求很高。操作非常簡(jiǎn)單,容易上手。 這個(gè)程序完成的情況比較好,實(shí)現(xiàn)了預(yù)期的所有功能,達(dá)到了目的。測(cè)試過(guò)程表明此游戲的功能基本正常,運(yùn)行過(guò)程基本沒(méi)有問(wèn)題。之后自己進(jìn)行游戲若干次,每一級(jí)的所有小方塊都能完全消除,這說(shuō)明小方塊是成對(duì)出現(xiàn)的,隨機(jī)性也沒(méi)有錯(cuò)誤,在游戲結(jié)束后彈出提示輸入姓名,在輸入姓名后將此次游戲的得分 350 分自動(dòng)保存到積分榜,調(diào)用積分榜,積分榜中的記錄能按照分?jǐn)?shù)的從大到小順序排列。游戲的每一個(gè)功能都要進(jìn)行檢查,而且反復(fù)使用才能發(fā)現(xiàn)問(wèn)題,比如暫停、停止和退出這樣不容易被察覺(jué)的問(wèn)題都要進(jìn)行反復(fù)使用,檢查過(guò)程中功 能完整。然后在初級(jí)、中級(jí)和高級(jí)之間來(lái)回切換,用以測(cè)試游戲的隨機(jī)性問(wèn)題,小方塊的分布沒(méi)有存在問(wèn)題。到測(cè)試后期,即使找到了錯(cuò)誤,然而付出了過(guò)高的代價(jià)。不足的測(cè)試勢(shì)必使軟件帶著一些未揭露的隱藏錯(cuò)誤投入運(yùn)行,這將意味著更大的危險(xiǎn)讓用戶承 擔(dān)。在目前形式化方法和程序正確性證明技術(shù)還無(wú)望成為實(shí)用性方法的情況下,軟件測(cè)試在將來(lái)相當(dāng)一段時(shí)間內(nèi)仍然是軟件可靠性保證的有效方法。 系統(tǒng)測(cè)試 軟件測(cè)試是程序的一種執(zhí)行過(guò)程,目的是盡可能發(fā)現(xiàn)并改正被測(cè)試軟件中的錯(cuò)誤,提高軟件的可靠性。比如有些游戲需要虛擬光驅(qū)的支持,但是有很多玩家用戶并不知道什么是虛擬光驅(qū)以及使用方法,所以制作好的游戲程序必須附有這些必要的軟件以及詳細(xì)的使用方法。再有一點(diǎn)就是文件的格式問(wèn)題,像背景音樂(lè)文件的格式為WAV 格式,音效的音樂(lè)格式既有 MID 格式也有 WAV 格式 ,不同的音樂(lè)文件格式有不同的播放方法,且不可混淆。 (2) 音樂(lè)音效不能正常播放 其實(shí)初次使用 VC++ 播放音樂(lè)時(shí)經(jīng)常遇到這樣的問(wèn)題,總結(jié)起來(lái)有兩點(diǎn)問(wèn)題。本系統(tǒng)調(diào)試過(guò)程中遇到問(wèn)題、原因和解決方法如下面介紹。如何能在浩如煙海的程序元素中找到有錯(cuò)誤的那個(gè)元素,這是調(diào)試過(guò)程中最關(guān)鍵的技術(shù)問(wèn)題。 通過(guò)以上這些設(shè)計(jì)以達(dá)到人機(jī)界面的友好、美觀,更能吸引玩家進(jìn)行游戲。當(dāng)游戲因?yàn)闀r(shí)間已用完或者死局的情況下,也要給予提示后再結(jié)束游戲,不然也會(huì)給玩家們帶來(lái)疑惑。當(dāng)游戲的高級(jí)難度被攻破時(shí),彈出的鼓勵(lì)話語(yǔ)會(huì)使玩家想重新進(jìn)行游戲,否則此游戲的游戲性很低,一個(gè)游戲性很 低的游戲的下載率是不會(huì)很高的。 在適當(dāng)時(shí)刻應(yīng)予以提示操作,在此游戲中應(yīng)做以下關(guān)鍵性提示操作:提示和重列道具是有次數(shù)限制的,當(dāng)提示和重列道具使用完后要有對(duì)話框提示,以避免玩家出現(xiàn)疑惑。 對(duì)于本程 序,為了增強(qiáng)趣味性以及操作性,人機(jī)界面設(shè)計(jì)必不可少。這些人機(jī)交互可稱為智能化的人機(jī)交互。隨著模式識(shí)別,如語(yǔ)音識(shí)別、漢字識(shí)別等輸入設(shè)備的發(fā)展,操作員和計(jì)算機(jī)在類似于自然語(yǔ)言或受限制的自然語(yǔ)言這一級(jí)上進(jìn)行交互成為可能。打入的命令可以有不同方式,但每一條命令的解釋是清楚的,唯一的。早期的人機(jī)交互設(shè)施是鍵盤(pán)顯示器。與這些設(shè)備相應(yīng)的軟件就是操作系統(tǒng)提供人機(jī)交互功能的部分。人機(jī)交互功能主要靠可輸入輸出的外部設(shè)備和相應(yīng)的軟件來(lái)完成。它與認(rèn)知學(xué)、人機(jī)工程學(xué)、心理學(xué)等學(xué)科領(lǐng)域有密切的聯(lián)系 。它包括機(jī)器通過(guò)輸出或顯示設(shè)備給人提供大量有關(guān)信息及提示請(qǐng)示等,人通過(guò)輸入設(shè)備給機(jī)器輸入有關(guān)信息及提示請(qǐng)示等,人通過(guò)輸入設(shè)備給機(jī)器輸入有關(guān)信息,回答問(wèn)題等。 ⑼ 最后,判斷此次的鼠標(biāo)操作是否已經(jīng)勝利結(jié)束,如果是則給予用戶提示,然后重新開(kāi)始新的一關(guān)。 ⑺ 如果可以抵消,對(duì)選中的兩個(gè)方塊在內(nèi)部核心地圖對(duì)應(yīng)的數(shù)據(jù)狀態(tài)作適當(dāng)?shù)男薷模瑢⑺鼈兊臓顟B(tài)記作已經(jīng)被銷毀的空方塊狀態(tài)。判斷選中的方塊與前一方塊是否為同一方塊,并且不與上一次選定的方塊為同一方塊,然后才跳到下一步對(duì)兩個(gè)選定的方塊是否可以抵消的流程中去。 ⑷ 對(duì)于本次選中的方塊為第一個(gè)選中的情況,先對(duì)選中的方塊添加一個(gè)紅色的矩形外邊框,用以提示用戶當(dāng)前的第一個(gè)方塊選 中所在的位置。保證運(yùn)算出來(lái)的行數(shù)和列數(shù)在預(yù)定義區(qū)域最大行數(shù)和列數(shù)內(nèi),并且點(diǎn)擊的區(qū)域狀態(tài)不是空白方塊區(qū)域。下面按照預(yù)先設(shè)計(jì)出的鼠標(biāo)事件處理流程,對(duì)整個(gè)功能模塊的具體協(xié)調(diào)與實(shí)現(xiàn)過(guò)程進(jìn)行簡(jiǎn)單地描述。還有一種情況就是當(dāng)游戲沒(méi)有進(jìn)行完的情況,當(dāng)時(shí)間都消耗盡或者已無(wú)生 命點(diǎn)數(shù)時(shí)出現(xiàn)死局時(shí),即游戲地圖中沒(méi)有一組可以消除的方塊,則游戲結(jié)束,都應(yīng)給予提示游戲結(jié)束的原因,在計(jì)數(shù)器中添加相應(yīng)的數(shù)值進(jìn)行跟蹤,當(dāng)計(jì)數(shù)器也就是進(jìn)度條到達(dá)底線時(shí),在游戲結(jié)束函數(shù)中采用觸發(fā)模式對(duì)游戲進(jìn)行終止,對(duì)無(wú)生命點(diǎn)數(shù)的判斷也采用相同的原理來(lái)實(shí)現(xiàn)。對(duì)于本游戲程序?qū)τ螒蚪Y(jié)束的判斷,自然是先檢查游戲區(qū)域中的小方塊是否都消除,由于某個(gè)位置是否由小方塊采用不同的數(shù)值進(jìn)行記錄,所以只需判斷各個(gè)小方塊位置的狀態(tài)就可以了。 先對(duì)人物圖案是否相同進(jìn)行判斷,通過(guò) llk_map[ytempindex][xtempindex].PicIndex =llk_map[yindex][xindex].PicIndex 語(yǔ)句實(shí)現(xiàn),如果不同則恢復(fù)原始狀態(tài),如果相同就進(jìn)行路徑的判斷了,在這里就需要用到前面所說(shuō)的 CheckConnection 函數(shù)進(jìn)行判斷了,判斷通過(guò)就進(jìn)行消除,對(duì)于圖片的消除,先更改圖片狀態(tài),然后進(jìn)行繪圖,并且加上音效的播放代碼,就可以實(shí)現(xiàn)預(yù)期的效果了。對(duì)于如何判斷選定兩個(gè)圖案是否可以連通抵消,是通過(guò)一個(gè)接口函數(shù) CheckConnection 來(lái)實(shí)現(xiàn)的。左通就是選定的兩個(gè)方塊的連線之間有其它方塊阻礙,但是通過(guò)它的左側(cè)可以將它們無(wú)障礙的連通,從而不構(gòu)成垂直折點(diǎn)的效果,而兩個(gè) 折點(diǎn)了連通方式中的其中一個(gè)類似的情況是,線的連通起碼要偏移一個(gè)方塊的距離來(lái)形成連通。把直連方式分成直通、左通和右通三種情況,簡(jiǎn)單介紹一下。對(duì)于一個(gè)折點(diǎn),即z1=z2,對(duì)判斷沒(méi)影響,每次取一點(diǎn)作為 z1 或 z2 ,驗(yàn)證 p1 到 z1/z1 或 z2/z2 到 p2 是否都能直線相連,是則連接成立。 ⑵ 對(duì)于一個(gè)折點(diǎn)和兩個(gè)折點(diǎn)的情況下。而對(duì)于游戲區(qū)域的繪制 ,則通過(guò)設(shè)備環(huán)境中的圖形物件群的調(diào)用進(jìn)行直接繪制。在需要使用的時(shí)候,則可以從這些內(nèi)存位圖中直接去拷貝,并繪制到游戲區(qū)域內(nèi)存位圖中去。 對(duì)于圖案的布局,依舊是采用常用的機(jī)制,先用 srand()函數(shù)對(duì)時(shí)間函數(shù)布下隨機(jī)種子,然后調(diào)用 rand()函數(shù)對(duì)具體的圖案方塊的種類進(jìn)行隨機(jī)的獲取。在游戲開(kāi)始前,先要進(jìn)行初始化,為了保證小方塊能成對(duì)地出現(xiàn),不應(yīng)該僅僅對(duì)人物圖案做簡(jiǎn)單地隨機(jī)抽取,然后將隨機(jī)選取出來(lái)的小方塊放到地圖中去就了事,而是需要成對(duì)的選取人物小方塊,就是說(shuō)地圖中的小方塊必須是偶數(shù)個(gè)才行。 對(duì)于游戲區(qū)域,被抽象成一個(gè)有坐標(biāo)位置屬性平面,平面上零散地分布著若干小方塊,在繪制地圖的類中添加地圖數(shù)據(jù)成員變量,用于記錄動(dòng)態(tài)分配出來(lái)的一維數(shù)組沈陽(yáng)航空工業(yè)學(xué)院北方科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 18 地圖空間的首地址,對(duì)于地圖中的某個(gè)小方塊的類型,可以用一個(gè)整型的 ID 來(lái)進(jìn)行識(shí)別。中間為進(jìn)度條,通過(guò) move to 和 link to 繪制一個(gè)邊框,然后通過(guò)計(jì)數(shù)器進(jìn)行控制,每隔固定時(shí)間內(nèi)在進(jìn)度條當(dāng)前時(shí)間位置進(jìn)行加 1 操作,即在固定時(shí)間內(nèi)繪制固定的進(jìn)度。 游戲地圖數(shù)據(jù)的設(shè)計(jì)與實(shí)現(xiàn) 整個(gè)游戲地圖分為信息顯示區(qū)域和游戲區(qū)域。對(duì)于破記錄的提示問(wèn)題,在一個(gè)游戲結(jié)束時(shí),會(huì)彈出 CAddDlg 看得到的分?jǐn)?shù),這個(gè)對(duì)話框彈出來(lái)時(shí),從數(shù)據(jù)文件讀取出來(lái),然后排序,比較一下當(dāng)前的分?jǐn)?shù),當(dāng)前分?jǐn)?shù)大于那個(gè)鏈表中最大值,就提示破記錄了,但是在調(diào)出積分榜時(shí),首先要進(jìn)行一下排序,然后在表格中顯示出來(lái)。若成功則函數(shù)返回 TRUE,否則返回 FALSE。參數(shù) hmod 是應(yīng)用程序的實(shí)例句柄,當(dāng)播放 WAV 資源時(shí)要用到該參數(shù),否則它必須為 NULL。 參數(shù) pszSound 是指定了要播放聲音的字符串,該參數(shù)可以是 WAVE 文件的名字,或是 WAV 資源的名字,或是內(nèi)存中聲音數(shù)據(jù)的指針,或是在系統(tǒng)注冊(cè)表 中定義的系統(tǒng)事件聲音。 音樂(lè)和音效功能子模塊設(shè)置為缺省關(guān)系,即音效激活狀態(tài)下音樂(lè)功能不可用,反之亦然,通過(guò) pCmdUISetCheck()語(yǔ)句實(shí)現(xiàn)缺省功能,音樂(lè)音 效的播放通過(guò) PlaySound功能即可實(shí)現(xiàn)。流程圖如圖 和圖 所示。對(duì)于提示模塊,采用遍歷的方法進(jìn)行查找,首先遍歷同一種圖塊中出現(xiàn)在不同坐標(biāo)位置的圖案小方塊,以此模擬第一次點(diǎn)擊,然后遍歷同一種圖塊的剩余的不同坐標(biāo)圖案小方塊的出現(xiàn),以此模擬第二次點(diǎn)擊,判斷前后 2 次模擬點(diǎn)擊選中的不同位置的同種圖塊能否連通,能連通則 高亮顯示這 2 個(gè)圖塊,提示完成;否則,繼續(xù)檢測(cè)連通情況直至找到為止。 選項(xiàng)模塊設(shè)計(jì)與實(shí)現(xiàn) 選項(xiàng)模塊中分為提示子模塊、重列子模塊、暫停子模塊、音樂(lè)子模塊、音效子模塊以及積分榜子模塊。 游戲模塊中的停止子模塊設(shè)定好停止的狀態(tài)即可,首先停止進(jìn)度條的運(yùn)行,游戲地圖區(qū)域以及信息顯示區(qū)域不做繪圖即可。這樣,初級(jí)、中級(jí)和高級(jí)就可區(qū)分開(kāi)來(lái)了。同理,對(duì)于中級(jí),共 90 個(gè)小方塊且每個(gè)人物出現(xiàn) 6 次,也就是說(shuō),共有 15 個(gè)人物。人物種類共有 20 種,對(duì)于初級(jí)來(lái)說(shuō),由于地圖的大小為八行九列共72 個(gè)小方塊,每個(gè)種類的人物設(shè)定出現(xiàn) 6 次為偶數(shù),這樣就可以實(shí)現(xiàn)成對(duì)的出現(xiàn)了,在游戲中可以完成配對(duì)。對(duì)于這三個(gè)不同 的級(jí)別分別設(shè)置三個(gè)不同大小的地圖,初級(jí)設(shè)為 8 9 的地圖,即橫向?yàn)榘藗€(gè)小方塊,縱向?yàn)榫艂€(gè)小方塊。游戲算法模塊,包括游戲的連接判斷算法以及游戲勝利判斷的算法。游戲繪圖模塊,包括小方塊圖案的載入以及游戲地圖背景的繪制。首先編寫(xiě)一個(gè)創(chuàng)建路徑的類,通過(guò)這個(gè)類使游戲中消除小方塊時(shí)能夠找到一條可 以連接的路徑進(jìn)行連線,然后通過(guò)一個(gè)畫(huà)線的類進(jìn)行連接。因?yàn)橛螒虻娜窟^(guò)程需要依靠鼠標(biāo)操作,所以鼠標(biāo)交互功能的設(shè)計(jì)是否人性化就成了此連連看游戲程序的重點(diǎn)。 系統(tǒng)的重點(diǎn)難點(diǎn) 此程序的重點(diǎn)是鼠標(biāo)的交互功能。完成 以上工作后,需要在程序開(kāi)始運(yùn)行的時(shí)候,一次性地對(duì)它們進(jìn)行適當(dāng)?shù)某跏蓟? 對(duì)框架位圖及人物位圖分別創(chuàng)建相應(yīng)的設(shè)備環(huán)境,并且為它們分配了關(guān)聯(lián)的內(nèi)存位圖變量。先在內(nèi)存創(chuàng)建兩個(gè)內(nèi)存位圖,并對(duì)它們的圖象進(jìn)行載入。作為一個(gè)設(shè)備接口,它可以使得開(kāi)發(fā)人員在將信息輸出于屏幕或打印機(jī)之時(shí)無(wú)需考慮具體的目標(biāo)輸出的硬件特性,只需調(diào)用 GDI 庫(kù)的一些方法進(jìn) 行操作即可,而具體的繪圖工作由特定的設(shè)備驅(qū)動(dòng)來(lái)完成,從而使開(kāi)發(fā)人員能輕松地在不同的硬件中做圖像繪制輸出。在提示功能中,首先調(diào)用檢查連接的類查找到一個(gè)可以連接的小方塊,并且標(biāo)記,然后更改其為選中狀態(tài),即改變顏色以達(dá)到醒目,用來(lái)提示玩家。 對(duì)于重排功能的實(shí)現(xiàn),首先將所有小方塊的位置編號(hào)暫時(shí)保存到內(nèi)存中,然后隨機(jī)地分布在有小方塊的位置上,通過(guò)隨機(jī)函數(shù)實(shí)現(xiàn)此功能。重排功能是在原小方塊位置不變的情況下,重新排列圖案的順序,以找到可解的小方塊。如果通過(guò)初級(jí)、中級(jí)后進(jìn)入高級(jí),并且地圖中的所有小方塊都被消除,則證明游戲已經(jīng)勝利,如果打破記錄,會(huì)彈 出提示。 游戲勝利判斷算法設(shè)計(jì) 與前面的兩個(gè)選定方塊能否抵消的判斷功能相比,它的實(shí)現(xiàn)顯得相當(dāng)簡(jiǎn)單,只需對(duì)圖案方塊游戲區(qū)域所有方塊進(jìn)行判斷就可以了,只要檢測(cè)到地圖中還有一個(gè)圖案方塊還沒(méi)有被抵消,并且游戲的級(jí)別不是高級(jí),則證明游戲還沒(méi)有結(jié)束,完成判斷。這種方式的兩個(gè)折點(diǎn)所連成的直線與兩物件的直接連線可以構(gòu)成平行線,因此可以根據(jù)這個(gè)規(guī)律,將這條水平線在游戲區(qū)域允許的條件上下移動(dòng),然后通過(guò)判斷整條帶垂直折點(diǎn)的曲線
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1