計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文基于WinCE的小游戲設(shè)計(jì)_第1頁(yè)
計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文基于WinCE的小游戲設(shè)計(jì)_第2頁(yè)
計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文基于WinCE的小游戲設(shè)計(jì)_第3頁(yè)
計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文基于WinCE的小游戲設(shè)計(jì)_第4頁(yè)
計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文基于WinCE的小游戲設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

銅陵職業(yè)技術(shù)學(xué)院 畢 業(yè) 設(shè) 計(jì) 題 目: 基于 小游戲設(shè)計(jì) 系 部: 信息工程系 專 業(yè): 計(jì)算機(jī)應(yīng)用技術(shù) 班 級(jí): 12 計(jì)算機(jī)應(yīng)用技術(shù)( 2)班 姓 名: 王 芳 指導(dǎo)教師: 李 婷 銅陵職業(yè)技術(shù)學(xué)院 摘 要 從 2001 年開始,游戲作為一種產(chǎn)業(yè)已經(jīng)漸漸地為中國(guó)大眾接受,它所帶來的經(jīng)濟(jì)效益和社會(huì)效益更是人們之前所沒有估計(jì)到的,當(dāng)游戲作 為一種很重要的娛樂手段被大眾接受時(shí),游戲產(chǎn)業(yè)就已經(jīng)注定會(huì)帶來巨大的經(jīng)濟(jì)效益。 連連看游戲是一款經(jīng)典小游戲,操作簡(jiǎn)單,適合所有玩定。連連看游戲軟件在 于 以實(shí)現(xiàn)初始化界面,用戶使用鼠標(biāo)點(diǎn)擊兩張相同圖案的小方塊進(jìn)行消除,并有多種圖案樣式的功能選擇,豐富了游戲的娛樂性。此連連看游戲程序界面美觀,操作簡(jiǎn)單,具有一定的趣味性,是一款老少皆宜的休閑佳品。 本文通過需求分析與方案論證,首先對(duì)開發(fā)連連看游戲程序進(jìn)行初步的分析,然后通過總體設(shè)計(jì)的詳細(xì)設(shè)計(jì)論述了系統(tǒng)的開發(fā)和實(shí)現(xiàn)過程。 銅陵職業(yè)技術(shù)學(xué)院 關(guān)鍵詞 連連看 單機(jī)游戲;游戲開發(fā) 銅陵職業(yè)技術(shù)學(xué)院 目 錄 第 1 章 緒論 . 第 2 章 總體設(shè)計(jì) .開發(fā)工具 .程序畫面的實(shí)現(xiàn) .程序代碼的添加 .基類的構(gòu)造函數(shù)介紹 .基類中其余函數(shù)代碼的解釋 . . 卡片類的構(gòu)造函數(shù) . 卡片類中 其余函數(shù)代碼的解釋 .卡片集合類的構(gòu)造函數(shù) .與卡片處理、繪制、重置相關(guān)的函數(shù) .游戲程序中對(duì)屏幕單擊的處理 .判斷兩張卡片之間是否可以連通 .“離屏技術(shù)”的畫面繪制方法 .游戲程序的初始化 .游戲?qū)ο蟮奶幚?. 銅陵職業(yè)技術(shù)學(xué)院 . 3 章 游戲狀態(tài) .連看 游戲程序狀態(tài)的介紹 .卡片集合類 .游戲類 .卡片集合類 .游戲類 . 4 章 計(jì)時(shí)器 .計(jì)時(shí)器類 .游戲類 .變化后的時(shí)間顯示方式 .時(shí)間顯示方式的代碼變化 .代 碼變化后的計(jì)時(shí)器類代碼詳解 . 代碼變化后的游戲類代碼詳解 . 章 系統(tǒng)測(cè)試 .束語 .謝 .考文獻(xiàn) . 銅陵職業(yè)技術(shù)學(xué)院 第 1 頁(yè) 共 28 頁(yè) 第 1 章緒論 課題背景 “連連看”是目前非常流行的一款休閑類游戲。由于它的游戲規(guī)則簡(jiǎn)單、畫面精美、操作簡(jiǎn)便,而贏得了很多玩家的喜歡。 在游戲開始運(yùn)行 以后,只需要在多種圖形當(dāng)中,按照游戲的規(guī)則 (兩個(gè)圖形的連線當(dāng)中不能有別的圖形遮擋,并且兩個(gè)圖形之間最多只允許有兩個(gè)拐點(diǎn) )找出兩個(gè)圖案相同的圖形,然后用鼠標(biāo)把兩者連接在一起,就可以消去彼此相連的兩個(gè)圖菜。在規(guī)定的時(shí)間內(nèi),玩家消掉的圖案越多,其得分也越高。 題意義 開發(fā)連連看游戲程序的目的是為了人們休閑的需要,在緊張的工作之余休閑類的小游戲能夠給人們帶來最大程度的放松,也可以增加人們之間的交流、溝通,通過游戲還可以認(rèn)識(shí)更多的朋友,達(dá)到人們之間相互娛樂的目的,而且小游戲還不會(huì)浪費(fèi)資源,不像大型游戲占據(jù)資 源和牽扯精力,可謂工作娛樂兩不誤。 通過此次課題的設(shè)計(jì),掌握如何制作一個(gè)游戲軟件,以及制作游戲軟件的整個(gè)流程,制作游戲軟件的步驟,為以后的就業(yè)工作打下基礎(chǔ)。 題內(nèi)容及目標(biāo) 連連看游戲主要是鼠標(biāo)兩次點(diǎn)擊的圖片是否能消去的問題。前提是點(diǎn)擊兩張相同的圖片,若點(diǎn)擊的是同一張圖片或者是兩張不同的圖片,則不處理。在兩張相同圖片所能連通的所有路徑中,如果存在一條轉(zhuǎn)彎點(diǎn)不多于兩個(gè)的路徑,就可以消去;如果沒有,則不可以。此程序的課題內(nèi)容及目標(biāo)如下。 且不超過兩個(gè)轉(zhuǎn)彎的連線 將它們連接起來,便可以消除這對(duì)方塊,每一局玩家需要在規(guī)定的時(shí)間內(nèi)消除所有的方塊,當(dāng)完成任務(wù),系統(tǒng)會(huì)提示,然后重新開始游戲。 可以選擇暫停。 通過對(duì)以上功能的實(shí)現(xiàn),達(dá)到界面美觀,操作簡(jiǎn)單,增加游戲的娛樂性、趣味性,使玩家對(duì)此游戲產(chǎn)生興趣。 銅陵職業(yè)技術(shù)學(xué)院 第 2 頁(yè) 共 28 頁(yè) 第 2章 總體設(shè)計(jì) 發(fā)工具和運(yùn)行環(huán)境 發(fā)工具 本程序采用 008 作為開發(fā)工具。 E 的設(shè)計(jì)目標(biāo)是:模塊化及可伸縮性、實(shí)時(shí)性能好、通信能力強(qiáng)大、支持多種 操作系統(tǒng)內(nèi)核的角度看 , E 具有靈活的電源管理功能,包括睡眠 /喚醒模式。在 E 中,還使用了對(duì)象存儲(chǔ)( 術(shù),包括文件系統(tǒng)、注冊(cè)表 及數(shù)據(jù)庫(kù)。它還具有很多高性能、高效率的操作系統(tǒng)特性,包括按需換頁(yè)、共享存儲(chǔ)、交叉 處理同步、支持大容量堆( 。 E 擁有良好的通信能力。它廣泛支持各種通信硬件,亦支持直接的局域網(wǎng)連 接以及撥號(hào)連接,并提供與 部網(wǎng)以及 連接,包括用于應(yīng)用級(jí)數(shù)據(jù)傳輸?shù)?設(shè)備至設(shè)備間的連接。在提供各種基本 的通信基礎(chǔ)結(jié)構(gòu)的同時(shí), E 還提供與 x/集成和通信。 E 的圖形用戶界面相當(dāng)出色。它擁有基于 覽器,此外,還支持 體。開發(fā)人員可以利用豐富靈活的控件庫(kù)在 E 環(huán)境下為嵌入式應(yīng)用建立各種專門的圖形用戶界面。 E 甚至還能支持諸如手寫體 和聲音識(shí)別、動(dòng)態(tài)影像、 3D 圖形等特殊應(yīng)用。 E 是一個(gè)多任務(wù)的操作系 統(tǒng),可以同時(shí)執(zhí)行多個(gè)任務(wù),并在他們之間來回切換,這其實(shí)是 以通過我們熟悉的 E,它也帶有 “ 我的文檔 ” ,也有很多軟件如 。 E 同時(shí)內(nèi)置了多媒體功能,通過 以播放 至是視頻。 E 具有可擴(kuò)充的 D 插槽,通過擴(kuò)充卡可以實(shí)現(xiàn)多 種功能,例如網(wǎng)頁(yè)瀏覽、無線接入或者增 加更大的存儲(chǔ)空間。 連連看”游戲的設(shè)計(jì)步驟 序畫面的實(shí)現(xiàn) #,新建一個(gè) C 2003的應(yīng)用程序。把工程的名字命名為“ 序代碼的添加 銅陵職業(yè)技術(shù)學(xué)院 第 3 頁(yè) 共 28 頁(yè) 諸如圖形繪制相關(guān)的位置坐標(biāo)、選擇圖形區(qū)域等操作都放在了這個(gè)類中。這種代碼組織結(jié)構(gòu)不但使整個(gè)程序看上去結(jié)構(gòu)非常清晰,也很好地體現(xiàn)了面向?qū)ο蟾拍畹木杷?。即把共性的東西抽象出來,放在一起,方便后 面具體對(duì)象的實(shí)現(xiàn)。 繼承自基類 為卡片類中包含了卡片繪制等一些基本的功能,因此從這個(gè)意義上講,繼承自 最合適的。以后只需要修改基類 可以實(shí)現(xiàn)用不同圖形的卡片繪制 (比如,選擇不同的卡片作為背景進(jìn)行繪制等 ) 卡片集合類主要負(fù)責(zé)卡片集合相關(guān)的事項(xiàng)。比如,繪制整個(gè)卡片數(shù)組、實(shí)現(xiàn)背景卡片的隨機(jī)排序、處理鼠標(biāo)在卡片集合上的單擊等。可以說,游戲中關(guān)鍵的功能,如處理鼠標(biāo)單擊,判斷兩張卡片是否可以可見、連通等功能都是在這里實(shí)現(xiàn)的。 序的主類 主要包含了游戲的主循環(huán)、應(yīng)用程序的初始化、對(duì)象的處理、對(duì)象的繪制等游戲程序的主要功能。概括地講,該游戲程序都是依靠這個(gè)類“串”起來的。因此,建議讀者首先要了解該類中如何把游戲程序的各個(gè)功能組合在一起,在此基礎(chǔ)上再來仔細(xì)研究其余類中代碼的具體實(shí)現(xiàn)。 類源代碼詳解 在程序代碼中提到的 是所有對(duì)象的基類。在這個(gè)游戲中,圖形的繪制、選中標(biāo)示的繪制等都需要計(jì)算目的位置的坐標(biāo)、源圖像的坐標(biāo)等。因此,根據(jù)面向?qū)ο蟮乃枷?,把所有這些經(jīng)常用到的屬性都 抽象成了一個(gè)基類。在這個(gè)基類當(dāng)中包含了一些基本的操作,這樣當(dāng)再派生出具體類 (比如,背景卡片 )的時(shí)候,只需要繼承自這個(gè)基類就可以了,這就是 類的構(gòu)造函數(shù)介紹 在一個(gè)類中,首先需要實(shí)現(xiàn)的就是該類的構(gòu)造函數(shù)。例如: 銅陵職業(yè)技術(shù)學(xué)院 第 4 頁(yè) 共 28 頁(yè) 上面這兩個(gè)構(gòu)造函數(shù)的函數(shù)名稱是完全一樣的,都是 有里面的參數(shù)不相同。我們把這種在同一個(gè)類中函數(shù)名稱相同,而參數(shù)類型不同的現(xiàn)象叫做函數(shù)的重載。使用重載函數(shù)可以使程序代碼在編譯的時(shí)候,根據(jù)函數(shù)參數(shù)的不同自動(dòng)地選擇相應(yīng)的函數(shù)進(jìn)行編譯。這樣可以大大降低程序的復(fù)雜程度。 在“ “ “ , 中的變量,在它們的前面加上 表示是中的變量;等號(hào)后面的那些值則為參數(shù)列表中傳遞過來的參數(shù)。 在第 2個(gè)構(gòu)造函數(shù)的參數(shù)列表后面“: 的作用是調(diào)用 用戶可以把 樣 然就可以被看成是 也就是調(diào)用第 1 個(gè)構(gòu)造函數(shù)了。這樣做的好處在于,當(dāng)對(duì) 行修 改以后,第 2 個(gè)構(gòu)造函數(shù)是不需要修改的。當(dāng)然,也可以在第 2個(gè)構(gòu)造函數(shù)中添加以下語句: 然這樣也可以實(shí)現(xiàn)原來函數(shù)的功能,但是如果第 1個(gè)構(gòu)造函數(shù)發(fā)生了變化,第 2個(gè)構(gòu)造函數(shù)也需要進(jìn)行相應(yīng)的修改。 類中其余函數(shù)代碼的解釋 /返回對(duì)象是否可見 當(dāng)卡片被消去以后,就處于不可見的狀態(tài),反之,則處于可見 狀態(tài)。這就是 /對(duì)對(duì)象進(jìn)行相應(yīng)的處理和操作。默認(rèn)值為空,需要的時(shí)候可以在子類重寫該函數(shù) 銅陵職業(yè)技術(shù)學(xué)院 第 5 頁(yè) 共 28 頁(yè) 片類源代碼詳解 “: 示卡片 (是 的子類,它繼承了父類的所有功能,同時(shí)又具備自己的一些特性。 片類的構(gòu)造函數(shù) : 這個(gè)構(gòu)造函數(shù)參數(shù)列表后面的“: 表示構(gòu)造函數(shù)在初始化的時(shí)候,會(huì)將 數(shù)列表里面的 遞給基類構(gòu)造函數(shù)這樣就實(shí)現(xiàn)了初始化所屬游戲 圖像 顏色屬性 片類中其余函數(shù)代碼的解釋 /重置對(duì)象 ; /重置對(duì)象為可見 片集合類源代碼詳解 片集合類的構(gòu)造函數(shù) /設(shè)置游戲?qū)ο?/計(jì)算卡片集合的行數(shù) /計(jì)算卡片集合的列數(shù) /計(jì)算卡片數(shù) /生成卡片對(duì)象數(shù)組 ; |(x= /不作任何處理 /當(dāng)單擊屏幕的位置處于卡片顯示范圍內(nèi)的時(shí)候,計(jì)算鼠標(biāo)單擊處的行和列 y x * if( 當(dāng)選中的卡片是可見的時(shí)候 if( /當(dāng)單擊位置上的卡片還沒有被選中的時(shí)候 /選中該卡片 句中, 飾的是 中的成員變量 號(hào)后面出現(xiàn)的是 斷兩張卡片之間是否可以連通 根據(jù)游戲的規(guī)則,每?jī)蓮埾嗤ㄆg的拐點(diǎn)不能超過 2個(gè),并且拐點(diǎn)之間不能有別的方塊進(jìn)行阻擋。因此,要判斷兩張卡片是否可以連通,還需要判斷中間的兩個(gè)拐點(diǎn)和其余部分是否可以連通。而要想判斷這 4個(gè)點(diǎn)是否連通,則需要判斷每 2個(gè)點(diǎn)之間是否可以連通?;谶@樣的一種判斷思路,我們分別設(shè)計(jì)了 3個(gè)函數(shù)。 銅陵職業(yè)技術(shù)學(xué)院 第 9 頁(yè) 共 28 頁(yè) 用 (表起始點(diǎn)所處的行列; (表目標(biāo)點(diǎn)所處的行列; ( (表兩個(gè)拐點(diǎn)所處的行和列。 戲類源代碼詳解 屏 技術(shù)”的畫面繪制方法 要采取一種被稱之為“離屏技術(shù)”的畫面繪制方法。具體的設(shè)計(jì)思路是:首先創(chuàng)建一個(gè)虛擬的屏幕,然后把將要繪制的圖形畫面繪制到這個(gè)虛擬屏幕上,最后把虛擬上的所有內(nèi)容復(fù)制到可以顯示的真正的物理屏幕上。使用這種技術(shù)可以很好地避免屏幕的閃爍現(xiàn)象。這是因?yàn)樵诶L制到虛擬屏幕的時(shí)候,所花費(fèi)的時(shí)間很短。在內(nèi)容變化不大的時(shí)候,幾乎看不到任何的閃爍。 離屏技術(shù)主要有以下 3個(gè)步驟: 創(chuàng)建用于離民屏顯示的虛擬屏幕。 在創(chuàng)建的虛擬屏幕上繪制畫面。 將虛擬屏幕上的整個(gè)畫面復(fù)制到真正的物理屏幕上。 在這個(gè)游戲當(dāng)中, 應(yīng)的是物理屏幕; 應(yīng)的是后臺(tái)的虛擬屏幕,這樣就從編碼上實(shí)現(xiàn)了離屏顯示技術(shù)。 戲程序的初始化 ; /初始化游戲 ; /進(jìn)入到游戲的主循環(huán)當(dāng)中 為了使得在每一次游戲開始的時(shí)候,卡片的排列順序都不相同,在程序代碼中就需要用隨機(jī)函數(shù)生成不同的隨機(jī)數(shù)。 /初始化應(yīng)用程序 ,就是前面提到的圖片資源中的 件 /后臺(tái)繪圖面 上面代碼中 作用為用 建新的 戲?qū)ο蟮奶幚?; /處理卡片集合 /繪制所有游戲?qū)ο?/繪制背景,以覆蓋并準(zhǔn)備重繪前景 0, 0); /繪制卡片集合,調(diào)用了 /刷 新前臺(tái)顯示屏幕,此時(shí)將后臺(tái)畫面一次性繪制到前臺(tái),離屏技術(shù)的體現(xiàn) ,0); /重置所有游戲?qū)ο?; /重置卡片集合 制卡片之間的連接線 數(shù)。 x4, 銅陵職業(yè)技術(shù)學(xué)院 第 11 頁(yè) 共 28 頁(yè) /設(shè)置畫筆的顏色為紅色 下面的 3行代碼實(shí)現(xiàn)了在起始點(diǎn)、目標(biāo)點(diǎn)和兩個(gè)拐點(diǎn)之間繪制連接線。 本章小結(jié) 本章主要介紹了游戲程序“連連看”的整體結(jié)構(gòu)及各函數(shù)實(shí)現(xiàn)的功能,其中包括游戲?qū)ο笾兴袑?duì)象的基類 定義了圖形繪制相關(guān)的位置坐標(biāo)、選擇圖形區(qū)域等操作,又介紹了卡處類 包含了卡片繪制等一些基本的功能,如繪制卡片數(shù)組、實(shí)現(xiàn)背景卡片的隨機(jī)排序、處理鼠標(biāo)在卡片集合上的單擊等,還介紹了游戲程序的主類 包含了游戲的主循環(huán)、應(yīng)用程序的初始化、對(duì)象的繪制等游戲的主要功能,它將整個(gè)程序串在了一起。 銅陵職業(yè)技術(shù)學(xué)院 第 12 頁(yè) 共 28 頁(yè) 第 3 章 游 戲狀態(tài)的添加 戲狀態(tài)概述 在游戲程序設(shè)計(jì)中,游戲狀態(tài)的添加可以大大增加游戲產(chǎn)品的完整性、可玩性以及游戲界面的友好性。有的游戲在進(jìn)入到暫停狀態(tài)的時(shí)候會(huì)停止當(dāng)前畫面,然后在畫面顯示暫停信息;有的游戲則會(huì)直接進(jìn)入到游戲設(shè)置畫面等。 連連看 游戲程序狀態(tài)的介紹 1. 游戲啟動(dòng)時(shí)的狀態(tài); 2. 游戲運(yùn)行中的狀態(tài); 3. 游戲暫停狀態(tài)下的狀態(tài); 4. 游戲重新運(yùn)行的狀態(tài); 5. 游戲勝利時(shí)的狀態(tài); 6. 重新開始游戲的狀態(tài) 序狀態(tài)的添加所引起的代碼變化 “連連看”游戲一共包含 4個(gè)類 ,分別為對(duì)象的基類、卡片類、卡片集合類和游戲類。其中,對(duì)象的基類和卡片類在這個(gè)版本的程序中沒有發(fā)生變化,卡片集合類也只作了很少的修改,惟一變化較大的就是游戲類。 片集合類 卡片集合 (和上一章的版本相比, 函數(shù)發(fā)生了比較大的變化。 戲類 在這個(gè)版本的“連連看”游戲程序中,發(fā)生代碼變化較大的是游戲類 化部分代碼詳解 片集合類 卡片集合 (,主要實(shí)現(xiàn)了卡片的屏幕繪制、判斷兩張卡片之問是否連通等功能。在這個(gè) 版本的“連連看”中, 函數(shù)的變化上。 在第 2章中,游戲程序在取得勝利以后,畫面上是沒有任何提示信息。在本章的程序當(dāng)中,增加了勝利狀態(tài)的顯示畫面,使游戲的功能更趨于完整。在程序中定義的 型變量 環(huán)語句中代碼的作用是在屏幕上繪制出 銅陵職業(yè)技術(shù)學(xué)院 第 13 頁(yè) 共 28 頁(yè) 所有的背景圖案,一般只有在游戲開始的時(shí)候,或者重新開始的時(shí)候才需要進(jìn)行游戲畫面的繪制。當(dāng)然,此時(shí)玩家不可能處在通關(guān)勝利的狀態(tài)下,因此,在循環(huán)語句當(dāng)中需要添加“ 句。 戲類 游戲類中包含了整個(gè)游戲程序的主函數(shù)、初始化函數(shù)等信息,和第三章的 變化較大。 在本程序中是在構(gòu)造函數(shù)的前面增加一個(gè)枚舉類型,具體的代碼如下: ; 從名稱中可以很清楚地看出其代表的含義,分別為: 菜單,也就是游戲啟動(dòng)時(shí)的狀態(tài)。 利狀態(tài)。 戲暫停狀態(tài)。 戲正在進(jìn)行當(dāng)中。 戲退出。 構(gòu)造函數(shù) 和前一個(gè)版本的程序相比,構(gòu)造函數(shù)也發(fā)生了一定的變化。 通過函數(shù)的對(duì)比,可以發(fā)現(xiàn),在新版本中去掉了 這一行代碼。這樣做是因?yàn)楫?dāng)前版本的游戲程序在初始化的時(shí)候,首先展現(xiàn)給玩家的是游戲的啟動(dòng)界面,只有當(dāng)用戶單擊屏幕以后才會(huì)進(jìn)入到游戲的循環(huán)當(dāng)中。而前一個(gè)版本的游戲直接展現(xiàn)的就是游戲界面,可以直接進(jìn)入到游戲的循環(huán)當(dāng)中。 因?yàn)樘砑恿瞬煌挠螒驙顟B(tài),同時(shí)需要在進(jìn)入到游戲主循環(huán)函數(shù)的時(shí)候,進(jìn)行游戲初始化狀態(tài)的判斷,因此 ,需要在 函數(shù)的最前面添加 函數(shù)。 函數(shù) 銅陵職業(yè)技術(shù)學(xué)院 第 14 頁(yè) 共 28 頁(yè) 作用是初始化游戲,我們把游戲啟動(dòng)時(shí)候要做的事情都放在這里。比如,背景畫面的重新繪制、狀態(tài)的設(shè)置等。下面來看一下代碼實(shí)現(xiàn)。 | ( /當(dāng)游戲剛啟動(dòng)的時(shí)候,或者游戲處于勝利狀態(tài)的時(shí) 候 ; /重新繪制所有的背景畫面 重新繪制所有的背景畫面以后,也就表示重新開始了新的一局游戲,因此,需要把游戲狀態(tài)設(shè)置成正在進(jìn)行中。這就是最后一條語句的作用。 函數(shù)和 函數(shù) 函數(shù)和 函數(shù)都是新添加的函數(shù),分別表示游戲的勝利狀態(tài)和游戲的失敗狀態(tài)。當(dāng)游戲勝利的時(shí)候,游戲自然就處于 游戲失敗的時(shí)候,游戲又會(huì)回 到開始時(shí)候的畫面。在這里需要說明的是,本章這個(gè)版本的游戲還沒有實(shí)現(xiàn)對(duì)失敗情況的判斷。但是為了保證各種狀態(tài)的完整性,可以在這里添加失敗時(shí)候的游戲狀態(tài)代碼。 函數(shù) 函數(shù)的變化主要體現(xiàn)在對(duì)畫筆的設(shè)置上。 在上一個(gè)版本的游戲中玩家或許會(huì)覺得方塊之間的連線不是很明顯,因此在這里對(duì)其進(jìn)行了一定的修改,也就是指定了畫筆的寬度。具體的代碼如下: ) 其中, 函數(shù) 函數(shù)為此版本游戲中新添加的函數(shù)。當(dāng)屏幕發(fā)生變化 (比如,最小化,然后最大化以后 )需要重新繪制的時(shí)候,系統(tǒng)會(huì)調(diào)用 函數(shù)。 銅陵職業(yè)技術(shù)學(xué)院 第 15 頁(yè) 共 28 頁(yè) 從函數(shù)的代碼中可以很清楚地看到,當(dāng)游戲處于啟動(dòng)、勝利、暫停狀態(tài)的時(shí)候,需要把整個(gè)背景用相應(yīng)狀態(tài)下的圖片進(jìn)行繪制;當(dāng)游戲處于運(yùn)行狀態(tài)的時(shí)候,則要把畫面繪制成原來的樣式;退出程序的時(shí)候,不需要作任何處理。 本章小結(jié) 本章中主要介 紹了和第三章“連連看”游戲相比較,在此基礎(chǔ)上添加了游戲的狀態(tài),其中包括游戲的啟動(dòng)畫面、游戲的暫停畫面、游戲的勝利狀態(tài)、退出狀態(tài)和運(yùn)行狀態(tài)。而后由于程序狀態(tài)的改變引起的程序代碼的變化,這些變化主要有:卡片集合類中的 函數(shù)、構(gòu)造函數(shù)、 函數(shù)、 函數(shù)、 函數(shù)、 函數(shù)和 函數(shù)、 函數(shù)、 函數(shù)、鼠標(biāo)單擊事件 函數(shù)。 銅陵職業(yè)技術(shù)學(xué)院 第 16 頁(yè) 共 28 頁(yè) 第 4 章計(jì)時(shí)器 序計(jì)時(shí)功 能簡(jiǎn)介 在游戲畫面上添加了時(shí)間顯示,這樣每一關(guān)就不人無限制地運(yùn)行下去,玩家的思考時(shí)間也會(huì)受到時(shí)間的限制了。并且當(dāng)顯示的時(shí)間變成 0的時(shí)候,就會(huì)終止游戲程序。 時(shí)器類的添加 在這個(gè)版本的“連連看”中,發(fā)生代碼變化的類為 時(shí)還增加了計(jì)時(shí)器( 。下面是 20; /計(jì)時(shí)器最大值 4; /計(jì)時(shí)器左上角 ; /計(jì)時(shí)器左上角 /計(jì)時(shí)器字體 /計(jì)時(shí)器顏色 : /計(jì)時(shí)器值 : : 16, ; 銅陵職業(yè)技術(shù)學(xué)院 第 17 頁(yè) 共 28 頁(yè) ; /處理對(duì)象 /獲取系統(tǒng)運(yùn)行的毫秒數(shù) (1000)| (| 銅陵職業(yè)技術(shù)學(xué)院 第 19 頁(yè) 共 28 頁(yè) (表 示 當(dāng) 時(shí) 間 間 隔 為 也就是 1000的 時(shí) 候 ,(| /間隔 /或歸 0 if(0) /計(jì)時(shí)器值為 0,失敗 ; ; /時(shí)間條變短 /記錄系統(tǒng)毫秒數(shù) /重置對(duì)象 /重置對(duì)象大小 /重置計(jì)時(shí)器值 碼變化后的計(jì)時(shí)器類代碼詳解 1. 全局量的變化 因?yàn)橐眠M(jìn)度條來顯示時(shí)間的變化,所以需要定義進(jìn)度條的長(zhǎng)度和寬度。在這個(gè)版本的程序中,增加了兩個(gè)全局常量。 90; : 其中, 為不再需要對(duì)顯示時(shí)間的字體和顏色進(jìn)行設(shè)置,因此去掉了下面兩行代碼。 銅陵職業(yè)技術(shù)學(xué)院 第 23 頁(yè) 共 28 頁(yè) 2. 構(gòu)造函數(shù)的變化 因?yàn)闀r(shí)間顯示的方式變成了進(jìn)度條顯示,這樣就直接導(dǎo)致 表列出了構(gòu)造函數(shù)代碼變化的前后對(duì)比。 前一個(gè)版本 當(dāng)前版本 : 6, ); ; : ; 從上面的表中,可以很清晰地看到,主要是在構(gòu)造函數(shù)參數(shù)以及部分函數(shù)發(fā)生了變化。由于采用圖片顯示時(shí)間長(zhǎng)短,而非數(shù)字顯示,因此需要設(shè)置圖片的源圖像、圖片屬性等信息。這些都需要體現(xiàn)在函數(shù)參數(shù)上。 由于沒有了數(shù)字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論