【正文】
to replace the derived class pointer can be.Programmers first need to understand the simple MFC application framework, and according to the specific task to write the corresponding program, the programmer can provide with MFC in the large number of classes to define the objects, can also custom class, but also to the library in some kind of give birth to a new class of futurism, overloaded or extend the base class function. When the user39。在此,特別感謝這次給我畢設做出指導的林麗清老師,感謝老師在期末繁忙的工作中,依舊給予我們畢業(yè)生細心的指導和矯正。這個游戲之中,有關繪圖算法編程的知識都可以直接從無所不包的Internet上獲取,甚至可以直接獲得一個完整的連連看游戲算法的源代碼級模塊。 致謝經(jīng)過這段時間的學習與實踐,使我對游程的發(fā)展及現(xiàn)狀有了更深刻的認識,并對Visual C++ ,學習了Visual C++ C++ ,特別是以前從未接觸過的MFC應用程序,從了解到學習,再到最后的使用,我的收獲是不可用語言表達的。MFC類庫可以幫助程序員編寫大量的高效率的正確的windows應用程序,通過這次畢設,加強了我對vc++各種控件的了解,如利用Picture控件顯示圖像,以及學習windows的API函數(shù),如用來播放背景音樂的sndPlaySound()函數(shù)等。 在設計前期我查閱了很多相關的書籍,去了解連連看這款小游戲。而在系統(tǒng)的設計過程中,難免會出現(xiàn)一些預測不到的異常,這些異常甚至在系統(tǒng)測試階段都檢查不出來,只有在用戶的使用過程中才能檢查出來,很多地方未能考慮周全導至系統(tǒng)存在著很多不足之處,這些不足主要是由于時間不足造成的。在這個游戲中還有很多的不足,畢竟是第一次編寫游戲程序,而且編寫游戲程序的要求很高。游戲運行比較穩(wěn)定,在游戲過程中還沒有出現(xiàn)過因系統(tǒng)原因造成的錯誤,游戲界面簡潔,美觀。游戲界面上有配對棋子提示。 游戲幫助對話框判斷結(jié)果:連連看游戲幫助提示正確。 消除完全部棋子時的界面升級后,查看當前游戲等級。圖 選中相同的棋子,棋子被消除 判斷結(jié)果:消除相同的棋子功能測試成功。 主界面和界面顯示功能調(diào)試 程序啟動后。在過關的時候,系統(tǒng)提示玩家是否要挑戰(zhàn)下一關。對于本程序,為了增強趣味性以及操作性,人機界面設計必不可少。隨著模式識別,如語音識別、漢字識別等輸入設備的發(fā)展,操作員和計算機在類似于自然語言或受限制的自然語言這一級上進行交互成為可能。早期的人機交互設施是鍵盤顯示器。人機交互功能主要靠可輸入輸出的外部設備和相應的軟件來完成。它包括機器通過輸出或顯示設備給人提供大量有關信息及提示請示等,人通過輸入設備給機器輸入有關信息及提示請示等,人通過輸入設備給機器輸入有關信息,回答問題等。在需要使用的時候,則可以從這些內(nèi)存位圖中直接去拷貝,并繪制到游戲區(qū)域內(nèi)存位圖中去。第三個是查找三根直線可以連接的棋子,在整個棋盤數(shù)組中查找2(a,b)個點(這兩個點必須是消除過的棋子或者是邊界位置)。否則說明可連。后一種是判斷當前棋盤上有沒有可以配對的棋子的函數(shù),其不同的是需要輸出兩個棋子的位置,這樣就可以將兩個棋子顯示出來。(4) 實現(xiàn)棋子類的配對接口函數(shù)分為兩種:一種是判斷當前棋盤上有無配對棋子;另一種是在前一種的基礎上添加輸出配對棋子坐標的功能。調(diào)用Hint()函數(shù)查找棋盤中是否有可以匹配的棋子,如果有,則不做任何操作;否則自動調(diào)用換盤函數(shù)進行換盤,并增加換盤數(shù)。amp。提示處理是通過調(diào)用查找函數(shù),把其中可以連接的一對棋子的位置通過輸入?yún)?shù)返回給上層調(diào)用者,由調(diào)用者設置相關棋子為選中狀態(tài)。(3) 查找有一個拐角,即兩根直線以連接的一對棋子,如果沒有則轉(zhuǎn)下一步;如果有則轉(zhuǎn)至步驟(6)。但要把當前游戲等級增加1級。如果是空,說明玩家已經(jīng)全部消除完畢,然后調(diào)用升級處理。1. 游戲勝負的判斷處理游戲勝負的處理步驟如下:(1) 等待玩家的鼠標輸入信息。CLlkDlg::Exchange(int map[][MAXY])是換盤函數(shù),該函數(shù)主要是將整個棋盤數(shù)據(jù)保存到臨時數(shù)組中,然后利用隨機數(shù)重新排列棋盤數(shù)組中的數(shù)據(jù),實現(xiàn)換盤。如果是結(jié)束游戲,還需要調(diào)用超記錄對話框。(2) 添加主對話框類CLIKDIg的實現(xiàn),其中包含基本的初始化對話框函數(shù)、游戲開始處理函數(shù)、及背景音樂播放功能函數(shù)。每一類棋子生成2組4個相同的數(shù)據(jù)。1. 主菜單處理模塊主菜單處理模塊比較簡單,只需要創(chuàng)建一個菜單對象,并在對話框初始化函數(shù)進行加載相應資源并設置到對話框中。 游戲開始 初始化棋盤時間限制是否為0 是當前記錄是否高過歷史記錄 否接收玩家輸入 否是否消除完畢 是保存新的記錄并且錄入玩家姓名結(jié)束游戲 是 游戲增加一級 游戲升級及英雄榜更新功能流程圖(3) 消除提示模塊流程圖。此程序的難點是連連看游戲程序的連接線功能。此游戲程序的關鍵在于游戲的繪圖方案,是此程序的難點,在此程序中的繪圖方案通過GDI技術(shù)實現(xiàn)。在需要使用的時候,則可以從這些內(nèi)存位圖中直接去拷貝,并繪制到游戲區(qū)域內(nèi)存位圖中去。 相關技術(shù)與重點難點 相關技術(shù)GDI(Graphics Device Interface,圖形設備接口)主要負責在顯示屏幕和打印設備等方面輸出圖像信息,是一組通過C++類實現(xiàn)的應用程序編寫接口。(2) 在玩家結(jié)束游戲時,比較當前用戶等級和最高等級。(3) 在相同棋子中,查找可以消除的棋子。(3) 把限制時間的初始值減少10秒。(4) 畫一條連接線,并消除這對棋子,退出等待下一次鼠標選擇。2. 消除相同棋子模塊的算法設計消除相同棋子模塊的算法主要分為以下幾個步驟:(1) 當鼠標點擊棋子時,保存到棋子坐標及類型到“第一次選中變量”中。(4) 如果游戲中有一對棋子消除時,就把限制時間增加3秒。 連連看游戲的詳細設計 游戲各功能的設計描述 在連連看游戲中,大致可以分為8個功能模塊。點擊菜單“游戲設置”里的背景音樂可以播放節(jié)奏感強烈的背景音樂。對于資源的需求,圖片資源必不可少,游戲中的小方塊是一組圖片資源,選用兩組圖案和排列完全相同但是背景色不同的兩組圖片作為小方塊的初始狀態(tài)和選定狀態(tài)。直到有玩家的等級超過2級,才能更新當前記錄等級并在退出游戲等級時保存玩家名字及游戲等級。(6) 棋子換盤功能如果玩家覺得自己無法全部消除時,可以使用快捷鍵(f6)調(diào)用棋子換盤功能,重新把旗子隨機排列來繼續(xù)游戲,該功能最多可以使用3次。(4) 游戲升級功能 當游戲中的棋子全部消除完畢時,游戲等級上升一個等級。(2) 能夠?qū)崿F(xiàn)時間限制功能能夠根據(jù)游戲狀態(tài)自動增加或者減少當前時間限制長短。 運行環(huán)境運行環(huán)境首先需要操作系統(tǒng)的支持,開發(fā)本程序使用Microsoft Windows XP操作系統(tǒng),為使開發(fā)連連看游戲程序能穩(wěn)定運行,在硬件上至少需要奔騰3CPU做保證,內(nèi)存不低于64MB,40G硬盤空間,對顯卡要求不高,都能滿足顯卡需求,還有音響用于播放音樂。與其他開發(fā)工具相比,Visual C++完成Windows圖形界面的程序所花費的時間要少得多。使用MFC的最大優(yōu)點是其做了所有最難做的事。 Visual C++開發(fā)工具的特點Visual C++提供的MFC類庫,是一個很大的、擴展了的C++類層次結(jié)構(gòu),其能使開發(fā)Windows應用程序變得更加容易。同時也是微軟公司向Windows操作系統(tǒng)(包括Windows NT、Windows2000、Windows XP等)出品的可視化的快速開發(fā)工具的產(chǎn)品。2 開發(fā)技術(shù)及開發(fā)環(huán)境 Visual Studio 在全世界,Windows操作系統(tǒng)被廣泛使用,Windows平臺下的軟件開發(fā)也成為軟件開發(fā)人員的必備技能。MFC是對API的封裝,因此它能實現(xiàn)的功能只是API的子集。因此所有在Win32API基礎上的應用程序都是Win32應用程序。縱上所述,以Microsoft Visual C++ 。 所以,從操作可行性角度分析開發(fā)此程序是可行的。下面簡單描述一下通過實現(xiàn)的功能。豐富的道具加入,增強游戲的競爭性。并且不會的地方可以問問老師或者同學,此外開發(fā)該游戲的難度不大。在ComponentGallery(組建畫廊)中,Visual C++,分為兩類,分別是Developer Studio Components和Register ActiveX Controls。Visual C++、通用的應用程序集成開發(fā)環(huán)境-Developer Studio(也俗稱Visual Studio)。開發(fā)出的產(chǎn)品倘若在因特網(wǎng)下載,一個注冊碼費用為十元,只需下載一千五百四十次即可收回成本。目的:它通過各種有效的方法,對工程項目進行分析,從技術(shù)、經(jīng)濟、財務等方面加以評價,最終給投資決策者提供是否選擇該項目進行投資的依據(jù)。連連看游戲從出現(xiàn)到現(xiàn)在已經(jīng)更新了好多版本,比較知名的有蔬果連連看、水晶連連看、阿達連連看和寵物連連看等不同版本,現(xiàn)在已經(jīng)有FLASH版本,游戲起來更加方便,無需安裝,打開網(wǎng)頁即可游戲,最近更是出現(xiàn)網(wǎng)絡版本,連連看就是這樣一款連連看游戲的網(wǎng)絡版本,可以通過網(wǎng)絡與其他玩家一起進行游戲,而且地圖更為繁多,道具更為豐富,極大地增強了游戲的樂趣。在美國,集中了許多計算機軟件的設計人才,他們工作之余,時常喜愛編一種能與人斗智的“游戲”,以此來鍛煉編程的能力。作為后來者,國內(nèi)業(yè)界同行們的信心、勇氣和緊迫感曾經(jīng)著實令玩家們欣慰。(6) 選擇提示功能時,游戲自動突出顯示兩個可以消除的方塊,并且提示次數(shù)減少一次。(1) 能實現(xiàn)主菜單和界面的顯示(2) 隨機生成游戲界面,具有時間限制功能。當前,前提是點擊兩張相同的圖片,若點擊的是同一張圖片或者兩張不同的圖片,則不予處理。沈陽理工大學學士學位論文連連看畢業(yè)設計論文目錄1 緒論 1 開發(fā)背景 1 目的和要求 1 國內(nèi)外研究現(xiàn)狀 2 可行性分析 3 分析結(jié)論 4 方案論證 42 開發(fā)技術(shù)及開發(fā)環(huán)境 6 Visual Studio 6 Visual C++開發(fā)工具的特點 6 運行環(huán)境 73 系統(tǒng)需求分析及設計 8 系統(tǒng)功能需求 8 概要設計 10 總體設計 10 游戲菜單結(jié)構(gòu)的設計 11 連連看游戲的詳細設計