java課程設(shè)計(jì)--連連看游戲設(shè)計(jì)_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  課程設(shè)計(jì)(論文)任務(wù)書</p><p> 一、課程設(shè)計(jì)(論文)題目連連看游戲設(shè)計(jì)</p><p> 二、本次課程設(shè)計(jì)(論文)應(yīng)達(dá)到的目的通過本項(xiàng)目的開發(fā),深入學(xué)習(xí)Java語言基礎(chǔ)知識,加深對Java編程思想的理解,提高軟件開發(fā)能力,熟悉軟件開發(fā)流程。熟悉開發(fā)環(huán)境及開發(fā)工具,從整體到局部去分析一個(gè)軟件怎么開發(fā),怎么設(shè)計(jì),掌握軟件的設(shè)計(jì)思想,養(yǎng)成一個(gè)良好的項(xiàng)目開發(fā)的編程習(xí)

2、慣。</p><p> 三、本次課程設(shè)計(jì)(論文)任務(wù)的主要內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計(jì)要求等) 游戲功能介紹;游戲主界面UI設(shè)計(jì);游戲算法設(shè)計(jì);游戲拐點(diǎn)連接,圖片消除,重排等功能設(shè)計(jì);程序調(diào)試及分析;</p><p> 四、應(yīng)收集的資料及主要參考文獻(xiàn): [1] 吳善財(cái).Android基礎(chǔ)開發(fā)與實(shí)踐[M].北京

3、:清華大學(xué)出版社,2012.[2] 侯天超.Web編程基礎(chǔ)[M].北京:電子工業(yè)出版社,2011. [3] 李興華.Java開發(fā)實(shí)戰(zhàn)經(jīng)典。[M]北京:清華大學(xué)出版社,2009.[4] 明日科技. Android從入門到精通。北京:清華大學(xué)出版社,2012.[5] 張耀,等.Java函數(shù)實(shí)用手冊[M].北京:冶金工業(yè)出版社,2003.</p><p> 五、審核批準(zhǔn)意見教研室主任(簽字)

4、</p><p><b>  摘要</b></p><p>  當(dāng)今社會,休閑型游戲越來越得到人們的喜愛,我所做的畢業(yè)設(shè)計(jì)實(shí)例“連連看游戲的設(shè)計(jì)與實(shí)現(xiàn)”是近幾年來網(wǎng)絡(luò)上非常流行的一種二維休閑游戲,它對電腦配置要求不高,娛樂性強(qiáng),易于上手。</p><p>  此次設(shè)計(jì)所使用的語言為Java語言,開發(fā)環(huán)境為JCreator。主要應(yīng)用到Swing組

5、件,Java小程序,事件及接口等。這些接口為游戲的制作提供了便捷的條件,本系統(tǒng)的主要特點(diǎn)就是運(yùn)用Swing組件和事件處理技術(shù),進(jìn)行界面的繪制,鼠標(biāo)的操作,以及積分的顯示等功能。</p><p>  這次通過連連看的設(shè)計(jì)開發(fā)將對理解Swing組件技術(shù)以及事件處理技術(shù)在游戲方面的應(yīng)用起到很大的幫助作用,同時(shí)為掌握J(rèn)ava編程技術(shù)及二維休閑游戲設(shè)計(jì)的一般方法打下堅(jiān)實(shí)的基礎(chǔ)。</p><p>  

6、關(guān)鍵詞:游戲,連連看,二維游戲 </p><p><b>  ABSTRACT</b></p><p>  Today's society, Casual games get more and more popular among people, I did graduate design example, "Design and Implement

7、ation Lianliankan game" is very popular in recent years the network of a two-dimensional casual games. Its less demanding computer configuration, Entertaining, Easy to fly.</p><p>  The language used in

8、 graduate design language for the Java, Development environment for the JCreator . Mainly applied to the Microsoft Swing framework provides more documentation procedures and events functions to interface. The game interf

9、ace offers convenient conditions for production, The main features of this system is to use events framework and interface technology to interface mapping, mouse operations, and display functions standings.</p>&l

10、t;p>  The design and development by Lianliankan Swing framework will understand the technology and the events application of technology in the games played very helpful, Java programming for both master and two-dimens

11、ional recreation of the general method of game design and lay a solid foundation.</p><p>  Keywords: Games, Lianliankan, two-dimensional game</p><p><b>  目 錄</b></p><p>

12、;<b>  第1章 緒論1</b></p><p><b>  1.1 背景1</b></p><p>  1.2 課程設(shè)計(jì)內(nèi)容1</p><p>  第2章 連連看游戲界面3</p><p>  2.1 連連看游戲概述3</p><p>  2.1.1 連連看游

13、戲的規(guī)則3</p><p>  2.1.2連連看勝利與失敗條件4</p><p>  2.2連連看系統(tǒng)介紹4</p><p>  第3章 連連看游戲的設(shè)計(jì)6</p><p>  3.1 系統(tǒng)需求分析6</p><p>  3.2 系統(tǒng)開發(fā)及運(yùn)行環(huán)境6</p><p>  3.3 系統(tǒng)

14、主要功能要求7</p><p>  3.4.1 連連看系統(tǒng)總體結(jié)構(gòu)7</p><p>  3.4.2 連連看系統(tǒng)各模塊介紹8</p><p>  第4章 系統(tǒng)的具體實(shí)現(xiàn)10</p><p>  4.1界面設(shè)計(jì)10</p><p>  4.1.1用戶登陸界面圖10</p><p>  

15、4.1.2結(jié)束界面11</p><p>  4.2程序設(shè)計(jì)及調(diào)試運(yùn)行13</p><p>  4.2.1游戲的連接算法14</p><p><b>  第5章 總結(jié)18</b></p><p><b>  參考文獻(xiàn)20</b></p><p><b>  

16、第1章 緒論</b></p><p><b>  1.1 背景</b></p><p>  游戲“連連看”顧名思義就是找出相關(guān)聯(lián)的東西,這個(gè)連連看在網(wǎng)上基本是用在小游戲中,就是找出相同的兩樣?xùn)|西,在一定的規(guī)則之內(nèi)可以做為相關(guān)聯(lián)處理?!斑B連看”的發(fā)展經(jīng)歷了從桌面游戲、在線游戲、不同版本連連看游戲(12張)社交游戲三個(gè)過程。   </p><

17、;p>  游戲“連連看”是源自臺灣的桌面小游戲,自從流入大陸以來風(fēng)靡一時(shí),也吸引眾多程序員開發(fā)出多種版本的“連連看”。這其中,顧方編寫的“阿達(dá)連連看”以其精良的制作廣受好評,這也成為顧方“阿達(dá)系列軟件”的核心產(chǎn)品。并于2004年,取得了國家版權(quán)局的計(jì)算機(jī)軟件著作權(quán)登記證書。  </p><p>  隨著Flash應(yīng)用的流行,網(wǎng)上出現(xiàn)了多種在線Flash版本“連連看”。如“水晶連連看”、“果蔬連連看”等,流行

18、的“水晶連連看”以華麗界面吸引了一大批的女性玩家。   </p><p>  2008年,隨著社交網(wǎng)絡(luò)的普及和開放平臺的興起,“連連看”被引入了社交網(wǎng)絡(luò)。“連連看”與個(gè)人空間相結(jié)合,被快速的傳播,成為一款熱門的社交游戲,其中以開發(fā)者Jonevey在Manyou開放平臺上推出的“寵物連連看”最為流行。</p><p>  現(xiàn)在網(wǎng)絡(luò)小游戲、網(wǎng)頁游戲越來越受網(wǎng)民歡迎,除了玩的方法簡單外(不像其他

19、游戲還需要注冊下載繁瑣過程),很多游戲不乏經(jīng)典。連連看游戲就是典型。 </p><p>  不管走到哪個(gè)網(wǎng)頁游戲網(wǎng)站,連連看游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領(lǐng),是一款適合大眾的經(jīng)典網(wǎng)絡(luò)休閑小游戲。</p><p>  1.2 課程設(shè)計(jì)內(nèi)容</p><p>  游戲規(guī)則是模仿網(wǎng)絡(luò)上普通的連連看游戲,主要

20、是鼠標(biāo)兩次點(diǎn)擊的圖片能否消去的問題。當(dāng)前,前提是點(diǎn)擊兩張相同的圖片,若點(diǎn)擊的是同一張圖片或者兩張不同的圖片,則不予處理。在兩張想同圖片所能連通的所有路徑中,如果存在一條轉(zhuǎn)彎點(diǎn)不多于兩個(gè)的路徑,就可以消去;如果沒有,則不予處理。 該游戲由30張不同的圖片組成,游戲開始將會出現(xiàn)30張隨機(jī)組合的圖片,在規(guī)則下點(diǎn)擊兩張相同的圖片后圖片將會消失。圖片全部消完為游戲成功。游戲還將設(shè)置退出,再來一局的按鈕,并實(shí)現(xiàn)該功能,方便用戶進(jìn)行操作。&

21、lt;/p><p>  該游戲?qū)⒂腥缦聝?nèi)容:</p><p><b>  (1)游戲計(jì)分功能</b></p><p>  當(dāng)消去兩個(gè)相同的圖片后分?jǐn)?shù)將增加100分。</p><p><b> ?。?)退出功能</b></p><p>  該功能有一個(gè)“退出”按鈕,當(dāng)按下“退出”按

22、鈕后,將直接退出游戲。</p><p><b> ?。?)再來一局功能</b></p><p>  該功能有一個(gè)“再來一局”的按鈕,當(dāng)按下“再來一局”按鈕后,圖片將會重新排列,重新開始游戲。</p><p> ?。?)游戲倒計(jì)時(shí)功能</p><p>  在游戲界面的上方有一個(gè)倒計(jì)時(shí)的進(jìn)度條,增加游戲的難度,激發(fā)玩家的挑戰(zhàn)

23、興趣。</p><p> ?。?)用戶登錄注冊功能</p><p>  在進(jìn)入游戲界面之前,將會出現(xiàn)用戶登錄界面,如果沒有注冊的玩家在按下“注冊”按鈕后將進(jìn)入注冊界面,玩家需要填寫用戶名,密碼,性別等信息完成注冊,再進(jìn)入登錄界面,輸入用戶名和密碼按下“確定”后就將進(jìn)入游戲界面,開始游戲。</p><p>  第2章 連連看游戲界面 </p>

24、<p>  2.1 連連看游戲概述</p><p>  當(dāng)今社會,休閑型游戲越來越得到人們的喜愛,我們所做的設(shè)計(jì)實(shí)例“連連看游戲的設(shè)計(jì)與實(shí)現(xiàn)”是近幾年來網(wǎng)絡(luò)上非常流行的一種二維休閑游戲,它對電腦配置要求不高,娛樂性強(qiáng),易于上手。</p><p>  此次設(shè)計(jì)所使用的語言為Java,開發(fā)環(huán)境為JCreator。主要應(yīng)用到Swing組件,Java小程序,事件及接口等。這些接口為游戲的

25、制作提供了便捷的條件,本系統(tǒng)的主要特點(diǎn)就是運(yùn)用Swing組件和事件處理技術(shù),進(jìn)行界面的繪制,鼠標(biāo)的操作,以及積分的顯示等功能。</p><p>  這次通過連連看的設(shè)計(jì)開發(fā)將對理解Swing組件技術(shù)以及事件處理技術(shù)在游戲方面的應(yīng)用起到很大的幫助作用,同時(shí)為掌握J(rèn)ava編程技術(shù)及二維休閑游戲設(shè)計(jì)的一般方法打下堅(jiān)實(shí)的基礎(chǔ)。</p><p>  隨著Flash應(yīng)用的流行,網(wǎng)上出現(xiàn)了多種在線Fla

26、sh版本“連連看”。如“水晶連連看”、“果蔬連連看”等,流行的“水晶連連看”以華麗界面吸引了一大批的女性玩家。   </p><p>  不管走到哪個(gè)網(wǎng)頁游戲網(wǎng)站,連連看游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領(lǐng),是一款適合大眾的經(jīng)典網(wǎng)絡(luò)休閑小游戲</p><p>  2.1.1 連連看游戲的規(guī)則</p><p&g

27、t;  玩家可以將 2 個(gè)相同圖案的對子連接起來,連接線不多于 3 根直線,就可以成功將對子消除。操作 : 第一次使用鼠標(biāo)點(diǎn)擊棋盤中的棋子,該棋子此時(shí)為“被選中”,以特殊方式顯示;再次以鼠標(biāo)點(diǎn)擊其他棋子,若該棋子與被選中的棋子圖案相同,且把第一個(gè)棋子到第二個(gè)棋子連起來,中間的直線不超過 3 根,則消掉這一對棋子,否則第一顆棋子恢復(fù)成未被選中狀態(tài),而第二顆棋子變成被選中狀態(tài)。</p><p>  2.1

28、.2連連看勝利與失敗條件</p><p>  勝利條件: 將棋盤上面的對子全部消除掉。按消除的數(shù)量排列名次。 </p><p>  失敗條件 : 每個(gè)玩家選擇牌的時(shí)間為 30 秒,超過時(shí)間而未消除一對的玩家以判為輸?shù)?。有一個(gè)玩家將所有的牌都全部消掉。</p&

29、gt;<p>  2.2連連看系統(tǒng)介紹</p><p>  根據(jù)第三章的需求分析,我們制作出了連連看游戲在Windows平臺上運(yùn)行時(shí)的主要功能圖。根據(jù)此連連看的功能圖我們將對連連看游戲進(jìn)行概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。繼而開發(fā)出一個(gè)完整的連連看電腦游戲??傮w的系統(tǒng)圖如下圖所示:</p><p>  圖2-1 系統(tǒng)功能圖</p><p>  連連看是運(yùn)用JCre

30、ator中的多文檔視圖開發(fā)的,文檔——視圖結(jié)構(gòu)提供的應(yīng)用程序接口有利于進(jìn)行窗口操作、文件讀取等編程。</p><p>  連連看游戲引擎包含在視圖類中。游戲引擎是一個(gè)抽象的概念,用于實(shí)現(xiàn)游 戲的邏輯功能,通常在一個(gè)獨(dú)立的類中,有時(shí)引擎和視圖是一體的,并且可能無可避免,因?yàn)橐晥D需要為引擎處理用戶輸入和繪圖。</p><p>  游戲程序設(shè)計(jì)一般都采用面向?qū)ο蟮脑O(shè)計(jì)模式,提供了一個(gè)簡單的圖像顯

31、示接口,利用多文檔視圖結(jié)構(gòu)的面向?qū)ο笤O(shè)計(jì)模式。</p><p><b>  2.3 本章小結(jié)</b></p><p>  這一章介紹了連連看應(yīng)該具備的功能模塊,在這一章中,我們可以了解什么是連連看,當(dāng)前連連看系統(tǒng)的系統(tǒng),還有一個(gè)連連看系統(tǒng)應(yīng)該的開發(fā)目標(biāo)。</p><p>  第3章 連連看游戲的設(shè)計(jì)</p><p>  

32、這一章將介紹連連看游戲的設(shè)計(jì),從游戲需求分析開始,介紹開發(fā)環(huán)境和用到的開發(fā)工具,系統(tǒng)主要的功能設(shè)計(jì),系統(tǒng)的數(shù)據(jù)流程圖。</p><p>  3.1 系統(tǒng)需求分析</p><p>  連連看游戲的設(shè)計(jì)目標(biāo)為:</p><p> ?。?)該游戲開始前,將設(shè)置一個(gè)用戶登錄注冊界面,如果沒有注冊的玩家在按下“注冊”按鈕后將進(jìn)入注冊界面,玩家需要填寫用戶名,密碼,性別等信息完

33、成注冊,再進(jìn)入登錄界面,輸入用戶名和密碼按下“確定”后就將進(jìn)入游戲界面,開始游戲。</p><p>  (2)游戲中將有“退出”功能,選擇退出命令后程序?qū)⒔K止執(zhí)行,關(guān)閉窗口。</p><p>  還將有“再來一局”功能,選擇再來一局命令后程序?qū)D片重新排列,重新開始游戲。該游戲還有一個(gè)時(shí)間倒計(jì)時(shí)的進(jìn)度條,提醒玩家剩余的時(shí)間,增加游戲的難度。在界面的頂部有計(jì)分功能,當(dāng)玩家消去圖片后就會贏得

34、相應(yīng)的分?jǐn)?shù)。</p><p>  3.2 系統(tǒng)開發(fā)及運(yùn)行環(huán)境</p><p><b>  硬件平臺:</b></p><p>  CPU:P41.8GHz。</p><p>  內(nèi)存:256MB以上。</p><p><b>  軟件平臺:</b></p>&l

35、t;p>  操作系統(tǒng):Windows 7。</p><p>  3.3 系統(tǒng)主要功能要求</p><p>  本系統(tǒng)針對中小學(xué)生的娛樂時(shí)間,通過程序中的線程、布局以及用戶登錄還有另外的一些功能進(jìn)行有效管理。本系統(tǒng)主要實(shí)現(xiàn)如下功能:</p><p>  系統(tǒng)采用圖片連連看的方式,界面美觀友好,用戶使用靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲安全可靠。</p>

36、;<p>  實(shí)現(xiàn)用戶登錄注冊功能。</p><p>  圖片的消除、排列清晰。</p><p>  計(jì)分自動完成,提高工作效率。</p><p>  用進(jìn)度條來表現(xiàn)用掉的時(shí)間。</p><p><b>  實(shí)現(xiàn)多條件查詢。</b></p><p>  可方便快捷地進(jìn)行下一盤游戲,并

37、且兩盤的分?jǐn)?shù)在規(guī)定的時(shí)間內(nèi)會疊加起來。</p><p>  操作員可以隨時(shí)退出游戲。</p><p>  對用戶輸入的信息,系統(tǒng)進(jìn)行嚴(yán)格的信息檢驗(yàn),盡可能排除人為的錯(cuò)誤。</p><p>  系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。</p><p>  系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。</p><p>  3.4.1 連連看系

38、統(tǒng)總體結(jié)構(gòu)</p><p>  連連看是基于java基本知識設(shè)置的一個(gè)小游戲,剛開始的時(shí)候有一個(gè)用戶登陸界面,要是沒有賬號的可以先申請一個(gè)。最中間有連連看的主體構(gòu)成——連連看圖片,上面有計(jì)分、時(shí)間條,下面有退出、再來一局按鍵。一個(gè)標(biāo)準(zhǔn)的連連看系統(tǒng)應(yīng)該包括以下幾大功結(jié)構(gòu):</p><p><b>  1、鼠標(biāo)操作模塊;</b></p><p>&

39、lt;b>  2、圖像處理模塊;</b></p><p><b>  3、菜單模塊;</b></p><p><b>  4、界面顯示模塊。</b></p><p>  3.4.2 連連看系統(tǒng)各模塊介紹</p><p>  系統(tǒng)各功能模塊實(shí)現(xiàn)的功能為:</p><

40、;p>  鼠標(biāo)操作模塊:玩家在玩游戲時(shí)需要運(yùn)用鼠標(biāo)與游戲系統(tǒng)進(jìn)行交互,這個(gè)模塊的實(shí)現(xiàn)是運(yùn)用MFC中的鼠標(biāo)事件觸發(fā)的,在連連看的游戲場景中運(yùn)用鼠標(biāo)進(jìn)行交互的事件主要有兩個(gè),一個(gè)是用戶點(diǎn)擊游戲場景中的圖片時(shí)觸發(fā)的事件。另外一種是用戶點(diǎn)擊菜單欄上的菜單按鈕時(shí)說觸發(fā)的鼠標(biāo)事件。</p><p>  當(dāng)用戶點(diǎn)擊游戲場景中的圖像塊時(shí)就會響應(yīng)鼠標(biāo)的OnLButtonDown事件,然后進(jìn)行相應(yīng)的邏輯判斷。</p>

41、;<p>  當(dāng)用戶點(diǎn)擊菜單欄上的菜單命令時(shí)就會觸發(fā)相應(yīng)的菜單命令對應(yīng)的相應(yīng)的事件。</p><p>  圖像處理模塊: 程序運(yùn)行后,用戶通過游戲菜單的開始命令或者直接按下F2鍵開始進(jìn)入游戲,在這個(gè)模塊里要把資源文件中的圖片進(jìn)行處理然后加載到游戲場景中這在程序中是通過DrawMap()方法實(shí)現(xiàn)的。其中用到的API函數(shù)主要是是BitBlt,他的主要功能是將某一內(nèi)存塊的數(shù)據(jù)傳送到另一內(nèi)存塊,前一內(nèi)存塊被

42、稱為"源",后一內(nèi)存塊被稱為"目標(biāo)"圖象程序開發(fā)者使用Blit的函數(shù)在內(nèi)存中將某頁面上的一幅位圖經(jīng)過一定的變換轉(zhuǎn)移到另一個(gè)頁面上。</p><p>  菜單模塊: 玩家在游戲游戲過程中隨時(shí)可以通過選擇不同的菜單命令來進(jìn)行相應(yīng)的操作,菜單的制作是通過MFC框架中多文檔程序的菜單欄來添加的,菜單包含一下幾個(gè)部分:(1)游戲菜單中的開始、放棄和退出命令。(2)選項(xiàng)菜單里面的提示、

43、重列、暫停、音樂、音效、和積分命令。 (3)幫助菜單,介紹了游戲的版本等。具體的實(shí)現(xiàn)方法下一張將在做詳細(xì)介紹。</p><p>  界面顯示模塊: 游戲場景中界面的顯示包括以下部分:游戲的級別、關(guān)卡數(shù)、允許重新排列的次數(shù)、允許的提示次數(shù)、剩余時(shí)間、游戲主場景。這些顯示信息會隨著游戲的進(jìn)行而動態(tài)改變。當(dāng)提示次數(shù)和重列次數(shù)為0時(shí)系統(tǒng)就不在允許用戶使用提示和重列的功能。</p><p>  在連

44、連看游戲中,除了上面講到的程序主界面外還包含了顯示積分和排名的對話框的設(shè)計(jì),在積分和排名對話框中,用戶可以查看積分排名情況,可以清除排名記錄。</p><p>  整個(gè)連連看游戲的系統(tǒng)是在VC++6.0開發(fā)環(huán)境中進(jìn)行開發(fā)的,開發(fā)過程中大量的使用了微軟提供的API接口方法,減少了程序代碼的編寫量、提高了編程效率。</p><p><b>  3.5 本章小結(jié)</b>&l

45、t;/p><p>  本章在前面分析的基礎(chǔ)上實(shí)現(xiàn)了連連看游戲的設(shè)計(jì),實(shí)現(xiàn)了連連看游戲的背景顯示功能、菜單功能、以及連連看游戲中的核心算法。</p><p>  在菜單功能模塊中針對每個(gè)菜單的命令進(jìn)行了詳細(xì)的解釋和闡釋實(shí)現(xiàn)了每一個(gè)子菜單的命令。</p><p>  在連接算法中,給出了每一個(gè)算法的程序邏輯了和詳細(xì)的算法實(shí)現(xiàn)。并且還繪制出了每一種連接情況的具體圖片。<

46、/p><p>  在連連看游戲的其他算法中列出了時(shí)間進(jìn)度顯示的實(shí)現(xiàn)方法和一些重要的數(shù)</p><p>  據(jù)結(jié)構(gòu),在此可以結(jié)合程序詳細(xì)的研究。</p><p>  第4章 系統(tǒng)的具體實(shí)現(xiàn)</p><p>  界面是系統(tǒng)之間最直接的交互界面,界面的友好性體現(xiàn)了軟件設(shè)計(jì)的質(zhì)量, 并在很大程度上決定了軟件是否成功。</p><p&g

47、t;<b>  4.1界面設(shè)計(jì)</b></p><p>  4.1.1用戶登陸界面圖</p><p>  如圖4-1和圖4-2所示</p><p>  圖4.-1 用戶登錄模塊框圖</p><p>  圖4-2 用戶登陸界面</p><p>  4.1.2 結(jié)束界面</p><

48、;p><b>  圖4-3 結(jié)束界面</b></p><p><b>  關(guān)鍵代碼:</b></p><p>  public void remove() {</p><p>  firstButton.setVisible(false); // 不可見</p><p>  secondBut

49、ton.setVisible(false);</p><p>  fraction();</p><p>  pressInformation = false;</p><p><b>  k = 0;</b></p><p>  grid[x0][y0] = 0;</p><p>  grid[

50、x][y] = 0;</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if (e.getSource() == newlyButton) {</p><p>  int grid[][] = new

51、int[8][7];</p><p>  this.grid = grid;</p><p>  randomBuild();</p><p>  mainFrame.setVisible(false);</p><p>  pressInformation = false;</p><p><b>  in

52、it();</b></p><p><b>  }</b></p><p>  if (e.getSource() == exitButton)</p><p>  System.exit(0);</p><p>  // if(e.getSource()==resetButton)</p>&

53、lt;p>  // reload();new ActionListener() {</p><p>  if (e.getSource() == timer) {</p><p>  if (time.isEnd()) {</p><p>  timer.stop();</p><p>  if (JOptionPane.showCon

54、firmDialog(mainFrame,</p><p>  "時(shí)間到了,o(︶︿︶)o \n要再來一局嗎?", "提示",</p><p>  JOptionPane.YES_NO_OPTION) == JOptionPane.OK_OPTION) {</p><p>  int grid[][] = new int[8]

55、[7];</p><p>  this.grid = grid;</p><p>  randomBuild();</p><p>  mainFrame.setVisible(false);</p><p>  pressInformation = false;</p><p><b>  init();&

56、lt;/b></p><p>  timer.start();</p><p><b>  } else</b></p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  }</b>&l

57、t;/p><p>  for (int cols = 0; cols < 6; cols++) {</p><p>  for (int rows = 0; rows < 5; rows++) {</p><p>  if (e.getSource() == diamondsButton[cols][rows])</p><p>  

58、estimateEven(cols + 1, rows + 1, diamondsButton[cols][rows]);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2程序設(shè)計(jì)

59、及調(diào)試運(yùn)行</p><p>  按功能模塊結(jié)構(gòu)設(shè)計(jì)菜單,布置各明細(xì)模塊工作界面,編寫各個(gè)模塊的程序代碼,進(jìn)行編譯連接運(yùn)行,經(jīng)過反復(fù)調(diào)試修改,以達(dá)到系統(tǒng)功能要求。這個(gè)過程具有大量的工作量,應(yīng)仔細(xì)對每個(gè)程序細(xì)節(jié)進(jìn)行分析思考、編寫程序并調(diào)試,做到程序簡潔清楚,盡量避免可能潛在的程序錯(cuò)誤,并在必要的地方加以注釋,以便于程序閱讀和修改。</p><p>  4.2.1游戲的連接算法</p>

60、;<p>  連連看游戲中對于用戶來說最簡單的呈現(xiàn)就是單擊兩個(gè)連在一起的的相同的圖像時(shí)這兩個(gè)圖像就會消去。即使不是緊鄰的兩個(gè)相同的圖像塊消去時(shí)也不能超過兩次轉(zhuǎn)彎。</p><p>  連連看游戲的聯(lián)通算法一般包括回溯法和堆棧實(shí)現(xiàn)的迷宮算法。在本次開發(fā)的連連看中兩個(gè)圖像塊可以消去的情況分為以下幾種情況。設(shè)第一個(gè)圖像塊的橫坐標(biāo)為x1,縱坐標(biāo)為y1,第二個(gè)圖像塊的橫坐標(biāo)為x2,縱坐標(biāo)為y2.</p&

61、gt;<p>  兩個(gè)圖像塊在在統(tǒng)一行上面,即x1=x2且y1>y2或者x1=x2且y1<y2,如下圖所示:</p><p><b>  圖4-4 同行</b></p><p>  兩個(gè)圖像塊在同一列,即y1=y2且x1>x2或者y1=y2且x1<x2,如下圖所示:</p><p><b>  圖

62、4-5 同列</b></p><p>  兩個(gè)相同的圖像塊是相對的,記一個(gè)圖像在另一個(gè)圖像的右下角,即:x1<x2且y1<y2或者x1>x2且y1>y2兩種情況。具體如下圖所示:</p><p><b>  圖4-6 對角的</b></p><p>  兩個(gè)相同的圖像塊是相對的,記一個(gè)圖像在另一個(gè)圖像的右下角

63、,即:x1<x2且y1>y2或者x1>x2且y1<y2兩種情況。具體如下圖所示:</p><p><b>  圖4-7 左對角</b></p><p>  在上面的四種情況當(dāng)中又包含了許多中可能。針對同行的兩個(gè)相同的顏色的圖像塊來說又可分為兩種情況,即:在同一行相鄰和同一行不相鄰的情況,不相臨的情況下有可以分為兩種,能消去的和不能消去的。同在一

64、列的也是這樣。至于兩個(gè)點(diǎn)之間存在折線的,也可以分為兩種情況,一種是存在折線但是能夠消除掉這兩個(gè)顏色相同的圖像塊,一種是不能消除的,本人在設(shè)計(jì)程序的時(shí)候針對不同的情況分別進(jìn)行了判斷和設(shè)計(jì)。下面分別對程序的算法進(jìn)行討論。</p><p>  首先是判斷在同一行中除起始點(diǎn)圖像塊以外到其他的圖像塊之間還有沒有其他的圖像塊。如果有函數(shù)返回false,如果沒有函數(shù)返回true。其邏輯圖如下圖所示:</p>&l

65、t;p>  圖4-8 IsLinePicEmpty邏輯圖</p><p>  IsLinePicEmpty方法主要是通過兩個(gè)圖像塊的坐標(biāo)來判斷兩個(gè)圖像塊之間是不是還有其他的圖像塊,</p><p>  上面的函數(shù)實(shí)現(xiàn)了同在一行或一列的圖像塊的檢測,下面的算法則實(shí)現(xiàn)了判斷一條直線上的兩個(gè)點(diǎn)是不是可以聯(lián)通的。算法邏輯跟上面IsLinePicEmpty算法一樣,即檢查相同的行或列上的兩個(gè)相

66、同圖像塊是不是可以連通的,即:兩個(gè)之間是不是還有其他圖像塊,算法邏輯圖如下圖所示:</p><p>  圖4-9 IsLineConnection</p><p>  在連連看的連接算法中上面的程序解決了在同一行或同一列中的相同圖像塊的檢測,下面的算法則解決了在兩個(gè)相同圖像塊之間存在一條折線的問題。算法的具體的邏輯設(shè)計(jì)圖圖下圖所示:</p><p>  圖4-10

67、 IsNotLineConnection</p><p>  上面算法的邏輯是先判斷兩個(gè)點(diǎn)之間的的兩條連通路徑之間除起始點(diǎn)外時(shí)候有其他的圖像塊,如果沒有就判斷兩個(gè)圖像塊之間的直線是否可通,如果可通函數(shù)返回值為真,不可通函數(shù)返回值為假。</p><p><b>  第5章 總結(jié)</b></p><p>  由于計(jì)算機(jī)的普及,網(wǎng)絡(luò)游戲越來越受大家的

68、歡迎,幾乎每個(gè)擁有電腦的人都會玩網(wǎng)絡(luò)游戲,不同的人玩的游戲當(dāng)然大不相同?,F(xiàn)在網(wǎng)絡(luò)上的小游戲越來豐富,我們此次的課程設(shè)計(jì)就是現(xiàn)在網(wǎng)絡(luò)上非常流行的連連看游戲。</p><p>  游戲“連連看”顧名思義就是找出相關(guān)聯(lián)的東西,這個(gè)連連看在網(wǎng)上基本是用在小游戲中,就是找出相同的兩樣?xùn)|西,在一定的規(guī)則之內(nèi)可以做為相關(guān)聯(lián)處理?,F(xiàn)在網(wǎng)絡(luò)小游戲、網(wǎng)頁游戲越來越受網(wǎng)民歡迎,除了玩的方法簡單外,很多游戲不乏經(jīng)典。連連看游戲就是典型。

69、不管走到哪個(gè)網(wǎng)頁游戲網(wǎng)站,連連看游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領(lǐng),是一款適合大眾的經(jīng)典網(wǎng)絡(luò)休閑小游戲。</p><p>  這次我們設(shè)計(jì)的游戲具有一般連連看的功能,玩法規(guī)則都與網(wǎng)絡(luò)上的小游戲相同。我們的游戲除了有退出,再來一局,計(jì)分,倒計(jì)時(shí)的功能外,在游戲開始前,還有一個(gè)用戶登錄注冊界面,用戶需登錄以后才能開始游戲。</p><

70、p>  此次課程設(shè)計(jì)的過程雖然辛苦,但也收獲了不少東西。經(jīng)過到圖書館以及網(wǎng)絡(luò)上查閱資料,因?yàn)楝F(xiàn)在解除了部分java知識,對一些未接觸的知識能有較好的理解能力,例如Swing組件的使用,事件的處理等,另外,還了解了許多新的知識。經(jīng)過自己的努力,我對此游戲進(jìn)行各種完善,從原來的數(shù)字圖片改成了一些可愛復(fù)雜的圖片,從沒有計(jì)時(shí)功能到增加了計(jì)時(shí)功能,從沒有登錄界面到制作了一個(gè)登錄界面,從一次次的完善中,我收獲了很多。當(dāng)然該游戲并不是完美的,還

71、有一些功能可以加強(qiáng)完善,這需要我繼續(xù)努力,進(jìn)一步探究。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 吳善財(cái).Android基礎(chǔ)開發(fā)與實(shí)踐[M].北京:清華大學(xué)出版社,2012.</p><p>  [2] 侯天超.Web編程基礎(chǔ)[M].北京:電子工業(yè)出版社,2011. </p><p>  

溫馨提示

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

評論

0/150

提交評論