基于J2ME的手機游戲開發(fā)與實現(xiàn)(已修改6.5) -_第1頁
基于J2ME的手機游戲開發(fā)與實現(xiàn)(已修改6.5) -_第2頁
基于J2ME的手機游戲開發(fā)與實現(xiàn)(已修改6.5) -_第3頁
基于J2ME的手機游戲開發(fā)與實現(xiàn)(已修改6.5) -_第4頁
基于J2ME的手機游戲開發(fā)與實現(xiàn)(已修改6.5) -_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、基于J2ME的手機游戲開發(fā)與實現(xiàn)THE DEVELOPEMT AND IMPLIEMNTATION OF THE MOBILE GAME BASED ON J2ME 摘 要本文通過對Android應用方法的初步研究,在對市場上主流手機網(wǎng)絡游戲軟件進行調(diào)研和學習的基礎上,設計出了一款在Android平臺上基于J2ME的“連連看”小游戲。首先分析了當前手機游戲的發(fā)展情況,介紹了開發(fā)基于J2ME手機游戲需要的相關技術以及環(huán)境配置;然后基于世面主流手機游戲的調(diào)研對本系統(tǒng)做出了詳細的需求分析;最后根據(jù)需求分析介紹了系統(tǒng)的設計方案以及實現(xiàn)過程,并對性能做出了測試與分析。本系統(tǒng)完成了“連連看”的基本游戲要求

2、,界面美觀。同時創(chuàng)新的添加了用戶管理模塊,實現(xiàn)了用戶登錄、注冊、查看排行榜等功能,提升了游戲的體驗。關鍵詞:J2ME;手機游戲;java; ABSTRACT This article through to the preliminary research on the Android application methods, research and study the market mainstream mobile phone network game software, design a model on the Android platform "lianliankan&qu

3、ot; the small game based on J2ME.This paper first analyzes the current development situation of mobile phone games, this paper introduces the development based on J2ME mobile games need related technology and environment configuration; Then based on the world mainstream mobile game research to this

4、system has made the detailed demand analysis; According to the demand analysis, introduces the design scheme of the system and implementation process and make the test and analysis on performance.This system completed the basic game "lianliankan" requirements, the interface is beautiful. I

5、nnovation at the same time to add the user management module, the realization of the user login, register, check list, and other functions, improve the experience of the game.Key words: J2ME; Mobile games; JAVA目錄摘 要IABSTRACTII第一章 緒論31.1 引言31.2 課題背景介紹31.3 所屬領域發(fā)展狀況41.4 課題研究價值及意義41.5 論文結構安排51.6 本章小結6第二

6、章 相關開發(fā)技術介紹72.1 Java相關技術介紹72.2 J2ME相關技術介紹82.3 本章小結9第三章 系統(tǒng)的需求分析103.1系統(tǒng)的需求分析103.2 可行性分析11第四章 系統(tǒng)的設計134.1功能模塊設計134.2 系統(tǒng)流程的設計134.3 系統(tǒng)關鍵算法的設計15第五章 系統(tǒng)的實現(xiàn)165.1系統(tǒng)工程的創(chuàng)建165.2 主要功能的實現(xiàn)165.3 本章小結24第六章 系統(tǒng)的測試與分析256.1 功能測試256.2 性能測試與分析286.3本章小結29第七章 總結與展望307.1 總結307.2 未來工作展望30參考文獻31s第一章 緒論1.1 引言現(xiàn)在的手機小游戲操作簡單、容易上手、無需注冊

7、,深受廣大消費者的歡迎,連連看游戲就是其中比較典型的一個小游戲。它很好地緩沖了當今人們的緊張生活節(jié)奏,為一些枯燥時刻帶來另樣而歡快的享受。小游戲“連連看”長期占據(jù)穩(wěn)中有各大游戲網(wǎng)站受歡迎程度的前5名,包括QQ游戲、4399游戲網(wǎng)和其它移動終端設備。因為它的規(guī)則比較簡單,老少皆宜,只需將相同的兩個圖案用3根以內(nèi)的直線相連消除即可,而且游戲的界面清新可愛,特別受到一些小朋友及女性玩家的喜愛;同時,每過一關后的難度層層遞時,也使游戲本身具有一定的挑戰(zhàn)性,這給一些玩家?guī)硪欢ǖ拇碳じ?,從而更具吸引力。本文設計的系統(tǒng)使用J2ME開發(fā)包設計并實現(xiàn)出一款基于J2ME的“連連看”小游戲。要求該游戲能在安卓系統(tǒng)

8、手機上正常運行。1.2 課題背景介紹在現(xiàn)代社會,手機已經(jīng)成為人們在日常生活的中使用最頻繁的和比較方便的通信工具。比起家庭贏座機,手機具有相同或者更低的使用成本,并且擁有隨地交流的優(yōu)勢,使人們擺脫各種約束的良好溝通。在城市中,基本上所有人都擁有一部或多部手機,由此而來的高滲透率,使得無線移動娛樂產(chǎn)業(yè)的高速發(fā)展。手機由于其普及性與現(xiàn)代人的生活方式息息相關。因為他們是輕便同時功能強大,除了電話連接和網(wǎng)絡訪問等其他功能,手機游戲手機已經(jīng)成為每個用戶隨時隨地都會用到的應用。雖然單個游戲的價格不貴,不能一次性產(chǎn)生較高的利潤,但由于其巨大的市場和使用流量巨大,將使業(yè)務手機游戲的市場仍有很大的發(fā)展空間。手機游

9、戲基本上分為四類:內(nèi)嵌式游戲、Wap網(wǎng)絡游戲、智能手機游戲、J2ME手機游戲。內(nèi)嵌式游戲:一些手機游戲在交貨前固定在手機芯片內(nèi),例如“貪吃蛇”、“彈球游戲”這些常見的手機自帶的游戲。但是因為這樣,用戶將無法安裝或更新更多他們喜愛的游戲,所以不是很方便。 Wap網(wǎng)絡游戲:基于網(wǎng)頁的游戲,現(xiàn)在由于HTML5的普及,Wap網(wǎng)游又產(chǎn)生了新一波的崛起,但是有良好用戶交互的基于Wap圖形網(wǎng)游目前只有少數(shù)公司掌握這個技術,技術不成熟有待發(fā)展。 智能手機游戲:開發(fā)人員通常定位在Series60,Windows mobile,Brew, IOS,Android開發(fā)在底部的游戲在移動設備上,但其開發(fā)難度和移植成本

10、將大大提高。J2me手機游戲:針對其他手機游戲的缺點,Java技術在移動設備的無線應用特殊優(yōu)勢非常明顯。目前的手機游戲,大多使用J2ME技術,因為手機可以支持Java平臺, J2ME技術也有其更廣闊的發(fā)展空間。J2ME具有快速、靈活和方便。集體來說:l 游戲應用程序可以隨意下載,不需其他應用支持,可以升級空間大,升級容易。l 超過95%的手機支持Java,并且至少50%的手機都裝在Android操作系統(tǒng),并且手機的性能還在不斷飛速發(fā)展。l 解除實時占用網(wǎng)絡帶寬、節(jié)省流量,因為可以將安裝包在有WIFI的時候下載到設備,并在本地安裝操作,只是運行交互時需要連接到服務器將占移動網(wǎng)絡帶寬,現(xiàn)在每月流量

11、不再是一個問題?;贘2ME手機游戲?qū)⑹謾C游戲公司的核心,為了生存在激烈的移動游戲市場的競爭環(huán)境,提高質(zhì)量和效率,是重心的移動游戲公司未來的發(fā)展。1.3 所屬領域發(fā)展狀況據(jù)相關網(wǎng)站的數(shù)據(jù)統(tǒng)計顯示,至13年6月,網(wǎng)上提供的J2ME相關的技術崗位將近4000個,而在一個月內(nèi)的有效崗位量超過了2000個。一些比較熱門的崗位包括:J2ME開發(fā)工程師、軟件工程師、應用開發(fā)工程師等,此外,還包括:系統(tǒng)驅(qū)動工程師,人機交互分析工程師、中間層開發(fā)工程師等。雖然基于J2ME人才需求類型較大,但總的來說分為兩大類,一類是偏向硬件驅(qū)動,一類是偏向軟件應用。從招聘數(shù)量上統(tǒng)計,后者的需求量更大。據(jù)職酷網(wǎng)統(tǒng)計顯示,在目前

12、企業(yè)J2ME的需求結構上分析,對軟件的J2ME開發(fā)人才占比較大,超過了總需求的70%。有相關學者做了手機應用市場的研究,指出手機游戲的商業(yè)潛力極為巨大。調(diào)查顯示,超過三成的手機玩家喜歡玩益智類的游戲,有四分之一的玩家鐘情于策略類的游戲,這兩者比重達到近6成。而“連連看”恰恰很好的結合了策略和益智這兩因素,加上其本身操作簡單,界面比較友好,也受到許多女性朋友的喜愛。調(diào)查得知,“連連看”小游戲在2008年的國內(nèi)市場占有額為1億元,而到2009年迅速發(fā)展到了2.5億元,到2010年則超過4億元,增長率超過了30%。相信隨著手機的推廣和技術和更新,“連連看”小游戲會有進一步的發(fā)展。從以上分析可以看出,

13、“連連看”雖然投資小,但其回報較快,其上升空間巨大,商業(yè)價值極為可觀。1.4 課題研究價值及意義比起大型的手機網(wǎng)絡游戲,現(xiàn)在的小游戲更受到消費者們的歡迎,除了游戲操作簡單, ,許多游戲已經(jīng)成為一種經(jīng)典中的經(jīng)典,比如連連看游戲,能夠良好的緩沖當今人民緊張的生活節(jié)奏,帶來一些無聊的時刻另一個快樂的享受。同時由于其輕量,用戶可以在即使沒有WIFI覆蓋的情況下使用網(wǎng)絡游戲。無論是主流網(wǎng)絡游戲平臺或者是任何移動終端設備,小游戲“連連看”總是在前五名的最受歡迎的游戲。它的游戲規(guī)則很簡單,只要兩個相同的圖案,三根直線以內(nèi)可以連接到則消除,年輕人和老年人有能快速上手并且體會到快樂。再加上它清新可愛的畫面,輕松

14、愉快的節(jié)奏游戲,廣受兒童和女性朋友的喜愛;由于在給定的時間內(nèi)需要消除所有模式,并且每一個模式也會減少任務完成時間,它帶給玩家挑戰(zhàn)和精神刺激十分有吸引力。它集休閑、娛樂、教育為一體,已成為一個非常受歡迎的經(jīng)典游戲。完成這個主題的研究,不僅可以增加項目的經(jīng)驗,同時還能提高我的新知識領域的自學能力和對已學知識的實踐應用能力。同時還加深認識用戶對手機游戲的功能需求,進一步把握手機游戲應該很容易上手,基于訂閱功能,可中斷和豐富的社會互動功能等幾大特點。另外也很好理解和參與游戲開發(fā)的基本流程,進一步擴大了知識面。通過設計和實現(xiàn)基于J2ME的“連連看”小游戲,對J2ME開發(fā)技術,圖像編程,也有一個更深入的了

15、解,為未來繼續(xù)學習和工作奠定了良好的基礎。1.5 論文結構安排整個論文分為七章,大致安排如下: 第一章為緒論部分,主要介紹了課題的背景,介紹了手機市場的現(xiàn)狀,J2ME與其他手機游戲開發(fā)平臺相比的優(yōu)點;基于J2ME手機小游戲相關領域的發(fā)展狀況,以及這次課題的研究價值與意義,最后介紹了論文的行文安排。 第二章介紹游戲系統(tǒng)開發(fā)所需要的相關技術,包括:java技術的介紹、J2ME技術框架介紹和開發(fā)技術介紹等,并且詳細介紹了系統(tǒng)開發(fā)環(huán)境的搭建等工序。第三章為系統(tǒng)的需求分析。主要介紹了基于“連連看”游戲基本運作規(guī)則和用戶體驗兼顧創(chuàng)新點做出了性能分析和功能分析,根據(jù)需求分析從技術、社會、操作、技術等方面進行

16、了詳細的可行系分析。第四章為系統(tǒng)的設計。根據(jù)第三章對功能和性能的需求分析,本章著重闡述了系統(tǒng)的設計。包括系統(tǒng)的基本流程設計,系統(tǒng)的功能模塊劃分與設計,界面的設計,確定系統(tǒng)編程風格等工作。第五章為系統(tǒng)的實現(xiàn)。本章主要介紹了工程的創(chuàng)建方法、系統(tǒng)主要功能的實現(xiàn)、“連連看”消除算法的實現(xiàn),并附有關鍵的代碼。第六章為系統(tǒng)的測試與分析,主要針對系統(tǒng)的需求分析做出了性能上和功能上的測試與分析。第七章為總結與展望,主要回顧整篇論文,并對對整個系統(tǒng)中所做工作做了一次詳細的總結,并對未來的工作做出展望。1.6 本章小結第一章主要介紹了課題的背景,研究了基于J2ME手機游戲開發(fā)的的價值和意義,介紹了論文結構的安排。

17、為后續(xù)系統(tǒng)的分析和設計提供了背景的支持和理論的依據(jù)。第2章 相關開發(fā)技術介紹2.1 Java相關技術介紹Java是一種跨平臺的高級面向?qū)ο蟮某绦蛟O計語言,于1995年5月由Sun公司提出(Sun Microsystems Inc.)。Java平臺根據(jù)其應用領域分為三種:JavaSE,其是Java平臺的基礎,主要通過Java語言,JDK和JRE和JVM四大部分;JavaEE同是JavaSE的基礎,包括了一系列服務、API和協(xié)議;JavaME是Java平臺版本的小的一種,主要用于小型數(shù)碼設備上的應用的程序開發(fā)和部署應用程序平臺,比較典型的應用有手機和股票機。Java有許多論壇可以提供比較豐富的資源

18、,來自不同領域的開發(fā)人員都可以用Java做出了自己的貢獻,促使Java飛速的發(fā)展。作為一個高級編程語言,Java有許多重要的特征,主要特點有:(1) 可移植性 移植就是使程序運行在另一個平臺上這不是一件容易的事情,需要考慮很多因素,比如不同平臺上的數(shù)據(jù)商都是不一樣的,又比如存在大端存儲和小端存儲等,然后Java數(shù)據(jù)類型的內(nèi)存長度在不同的平臺上是統(tǒng)一的,這是C/ c+系列所不能做到的(正如你所知道的一樣LINUX是大端存儲WINDOWS是小端存儲)。所以對于?°編寫一次,隨處運行?±這種想法,Java提供了更多的可能性。(2) 基于解釋的程序在一個平臺上運行,首先必須被編譯成

19、原始的機器語言平臺可以理解的原語,但實際上不同平臺的原語的理解是不一樣的。不同的平臺之間為了解決這個問題,引入Java JVM(Java字節(jié)碼文件,可以進行虛擬操作系統(tǒng)),在運行Java程序時,Java實時編譯器通常是先將字節(jié)碼編譯成可以被目標平臺理解機器語言。有別于C/C+系列,JAVA語言是邊解釋邊執(zhí)行的。(3) 簡單性Java語言中包含了大量的C/C+語法,因此對于熟悉C/C+的開發(fā)人員能在較短的時間內(nèi)掌握Java的運用。此外,Java在C/C+的基礎上放棄了一些使用很少有難于掌握還可能不安全功能,如操作符重載、指針和多重繼承等。(4) 基于網(wǎng)絡的Java本身就是出生在網(wǎng)絡,從最初的Ap

20、plet,socket套接字,JSP/ Servlet直到現(xiàn)在流行的Web服務,這表示Java Web服務和其他相關領域有突出貢獻。在B/S的發(fā)展領域,Java編程語言遠比c+編程語言好。(5)面向?qū)ο蟮母呒壘幊陶Z言Java語言是一種純粹的面向?qū)ο蟮母呒壘幊陶Z言,它允許您使用面向?qū)ο蟮乃季S方式來設計和編寫程序。面向?qū)ο蟮膬?yōu)點是,你可以設計一個可重用的組件或直接移動其他設計開發(fā)的組建更加靈活地開發(fā)出軟件。Java語言是通過提供類、接口和繼承機制來反映面向?qū)ο蟮奶攸c。c+的動態(tài)綁定只針對虛函數(shù),而Java是可以實現(xiàn)全部支持動態(tài)綁定。2.2 J2ME相關技術介紹J2ME技術是基于基本的Java環(huán)境開

21、發(fā)的一個抽象層,這個抽象層構建于手機操作系統(tǒng)和硬件平臺之間,使系統(tǒng)具備很好的內(nèi)存管理功能,以及各種安全機制和無效對象回收機制。代碼具有一定的傳輸能力,使得一份代碼包能夠通過各種形式下載,安全的到達不同硬件上的 Java 虛擬機平臺【1】。J2ME 基于 Java,但省去了許多沒必要的功能,因為對于 J2ME 支持的那些電子設備而言屏幕尺寸,功能有限。因此 J2ME中 包括了 UI 包來與這些設備配套【2】。 J2ME 與 J2EE,J2SE 在類庫級別上的關系如圖 2-1 所示。 圖 2-1 J2ME與J2EE,J2SE類庫的關系J2ME體系結構包含三層:第一層為Java虛擬機層,第二層為CL

22、DC /CDC配置層。第三層為,由小型電子設備的應用程序編程接口的最小集合組成的協(xié)議層。如圖2-2所示。圖2-2 J2ME平臺總體框架2.3 本章小結 本章介紹了開發(fā)該游戲系統(tǒng)需要的相關技術的介紹,包括:java技術的介紹、J2ME技術框架介紹和開發(fā)技術介紹等,并且詳細介紹了系統(tǒng)開發(fā)環(huán)境的搭建等工序。為后面開發(fā)做準備。第三章 系統(tǒng)的需求分析3.1系統(tǒng)的需求分析3.1.1 游戲的基本規(guī)則在游戲地圖上,每一次選擇連接兩個相同的圖片,如果連接成功,那么消除它們在規(guī)定時間內(nèi)消除完畢則勝利。鏈接規(guī)則,是只兩個圖片之間只能用三根直線鏈接起來。根據(jù)時間確定簡單、普通、困難三種難度模式。在游戲過程中,道具可以

23、提示玩家,道具有地圖刷新功能、自動消除功能等。3.1.2 功能需求分析根據(jù)“連連看”游戲本身的特點以及提高用戶的使用體驗。我們初步規(guī)定了有以下功能。相同圖案的鏈接功能,具體來說一般有三種情況:一條直線即可鏈接,我們稱其為“零折型鏈接”;兩條直線即可連接,我們稱其為“一折型連接”;三條直線鏈接,我們稱其為“兩折型鏈接”。滿足這三種情況的相同兩幅圖片通過線連接以后既可以消除。界面顯示功能:主要包括菜單的顯示、地圖的顯示以及操作時效果的顯示。音樂播放功能:用戶在游戲時候可以播放音樂來提高游戲的體驗感和樂趣。道具功能:游戲中設定了兩種道具,一種是地圖刷新道具:該道具用于地圖刷新,由用戶主動點擊道具,該

24、道具會重新再現(xiàn)有圖片的位置上打散所有圖片,降低游戲難度。另外一種是自動消除工具,由用戶主動點擊道具,點擊以后系統(tǒng)自己計算出一條可以消除的路線并且自動消除一組圖片,達到降低難度的目的。用戶管理模塊:為了提升游戲的體驗以及交互功能,我們設計了用戶管理模塊,主要包括用戶的注冊、用戶的登錄以及排行榜。游戲開始的時候,系統(tǒng)會提示注冊新用戶或者用以前用戶名字登錄,登錄以后的游戲結束系統(tǒng)會根據(jù)本局所得分數(shù)來設定排行榜。圖3-1 系統(tǒng)功能結構圖3.1.2 性能需求分析根據(jù)“連連看”游戲本身的特點以及提高用戶的使用體驗。我們初步規(guī)定了有以下新能需求。界面美觀:需要有美觀的界面提升用戶的使用體驗。穩(wěn)定性:游戲需要

25、有一定的穩(wěn)定新,在用戶長期連續(xù)使用的時候系統(tǒng)不會產(chǎn)生崩潰以及卡死的現(xiàn)象。可操作性:使用戶下載游戲以后不需要特別的教學,只要熟悉練練看的規(guī)則即可流暢的使用本系統(tǒng)。流暢性:保證游戲運行在所有運算過程以及圖片渲染顯示時都能保證畫面的流暢性,不會卡死或者使手機速度變慢。3.2 可行性分析3.2.1操作游戲的可行性是其操作的成功的關鍵,應作為游戲設計的第一位來考慮。以往,許多游戲成為玩家討論的焦點經(jīng)常是操作的可行性。因此,可以看出,游戲的操作可行性直接決定著其吸引力。游戲時間應該合理,既不太長也不太短。通過用戶調(diào)查后,最終決定初級難度的游戲時間設置為100秒,中級的時間設定為80秒,高級的游戲時間設置為

26、60秒。這樣既保證了初級玩家可以快速通關提升了游戲的可玩性,同時也讓高級玩家在高級模式不是那么熔體通過,提升了挑戰(zhàn)性。3.2.2技術Android的開發(fā)和利用是基于Java語言,JDK是一個Java項目的開發(fā),其必須包含開發(fā)工具包。在Android應用程序開發(fā)應該建立相應的開發(fā)環(huán)境,基于Eclipse Java是一個不錯的選擇。Eclipse安裝谷歌Android平臺開發(fā)公司提供的ADT插件后可以作為Android開發(fā)平臺后不僅是一個免費和開源IDE。Android平臺為開發(fā)者提供開源軟件開發(fā)工具包,包含必要的Android平臺的應用程序開發(fā)工具和組件。這些插件有助于企業(yè)Java應用程序平穩(wěn)過

27、渡到智能終端Android游戲開發(fā)。Eclipse是一個很好的游戲動畫軟件。鑒于其面向?qū)ο缶幊痰奶攸c,極大地提高應用程序開發(fā)的效率。和Eclipse與一些常用組件,為我們開發(fā)提供了極大的便利??傊?系統(tǒng)開發(fā)從技術上來說是可行的。3.1.3經(jīng)濟通過全面的手機應用市場研究分析和“連連看”游戲產(chǎn)業(yè)發(fā)展前景的調(diào)查,“連連看”小游戲雖然投資小,但其收益較快,必將成為一個風險資本市場關注的產(chǎn)品,其經(jīng)濟價值尤為重要。開發(fā)所需的軟件和硬件系統(tǒng)是很容易獲取,這使開發(fā)成本非常低??傊?該系統(tǒng)經(jīng)濟上也是可行的。第四章 系統(tǒng)的設計4.1功能模塊設計結合“連連看”的功能需求和系統(tǒng)的性能要求,構建了三個功能模塊。游戲功能

28、實現(xiàn)模塊:主要用于實現(xiàn)游戲的功能。包括連連看算法是實現(xiàn)、背景音樂和音效給播放、游戲時間進度和分數(shù)的計算、計算排行榜分數(shù)、搭建系統(tǒng)主框架等游戲運作功能。游戲顯示模塊:主要用戶地圖的布局和顯示、消除方塊時候的動畫,已經(jīng)其他界面的顯示功能。用戶管理模塊:主要用于管理用戶用戶名、密碼等信息,記錄用戶的分數(shù)等功能。4.2 系統(tǒng)流程的設計 根據(jù)“連連看”的功能需求和系統(tǒng)的新能需求,設計了如下的系統(tǒng)流程:首先用戶進入游戲需要注冊和登錄,注冊成功后既可以開始游戲,在游戲過程中可以設置游戲的聲音,選擇游戲的難度。如果通關以后可以選擇繼續(xù)下一關或者結束游戲。當游戲結束后可以查看排行榜,排行榜也可以手工選擇查看。闖

29、關失敗以后可以選擇再玩一次或者結束游戲。系統(tǒng)流程圖如4-1所示:圖4-1 “連連看”系統(tǒng)流程圖4.3 系統(tǒng)關鍵算法的設計 系統(tǒng)的主要核心算法就是相同圖像的消除算法,根據(jù)需求分析中的三種情況,其算法設計如下:1、 當用戶選擇兩張圖片以后判斷兩張圖片是否相同,如果相同則繼續(xù)進行第二步,如果不相同等待用戶的下一次選擇。2、 兩幅相同的圖片需要消除這需要滿足這兩幅圖片在沒有其他圖片阻擋的情況下用三條直角圖片鏈接起來。我們將沒有圖片阻擋的格子標記成可走路線。在可走路線中我們繼續(xù)進行一下判斷:第一種:零拐角鏈接。看兩幅圖片是否存在一條直線路徑,如果存在則可以消除。第二種:一個拐角的鏈接。當?shù)谝环N情況嘗試失

30、敗了,則再嘗試在第一副圖片的同一行尋找一個空格該空格位置是否能與第二幅圖進行零拐角的鏈接,如果有則鏈接成功,如果沒有則再測試第二幅圖片的同一列上的空格是否存在一個空格能與第一幅圖片產(chǎn)生零拐角的鏈接,如果可以則鏈接成功,否則鏈接失敗。第三種:當?shù)谝环N、第二種情況都失敗了,再進行如下 嘗試:在第一副圖片的同一行尋找一個空格該空格位置是否能與第二幅圖進行“一個拐角”的鏈接,如果有則鏈接成功,如果沒有則再測試第二幅圖片的同一列上的空格是否存在一個空格能與第一幅圖片產(chǎn)生“一個拐角”的鏈接,如果可以則鏈接成功,否則鏈接失敗。3、 當鏈接成功則顯示兩幅圖片消失效果并將兩個圖片的位置置空,否則則等待下一次的響

31、應。系統(tǒng)算法實現(xiàn)如圖4-2所示:圖4-2 連連看算法實現(xiàn)第五章 系統(tǒng)的實現(xiàn)5.1系統(tǒng)工程的創(chuàng)建點擊進入系統(tǒng),創(chuàng)建一個命名為llk.Android的工程,選擇建立在API8 SDK2.2版本。其中主要的類和借口的說明如下(1)OnStateListener接口:用于監(jiān)聽游戲的狀態(tài):例如:暫停、勝利、失敗、退出等。(2)OnTimerListener接口:用于監(jiān)聽游戲的剩余時間。(3)OnToolsChangeListener接口:用于監(jiān)聽道具使用次數(shù)。(4)MyDialog類:用于顯示游戲的主界面。 (5)SoundPlay類:用于實現(xiàn)游戲聲音和音效的播放。 (6)BoardView類:用于實現(xiàn)

32、游戲中地圖的顯示,以及消除等效果。(7)GameView類:用于實現(xiàn)游戲中消除算法,并且監(jiān)聽用戶響應事件。(8)WelActivity類:用于提供游戲與用戶的 交互,負責對游戲各種實時狀態(tài)的監(jiān)控。5.2 主要功能的實現(xiàn)5.2.1 消除圖片的顯示 消失圖片的主要算法為:首先根據(jù)用戶的選擇標出用戶希望消除的第一個水果,當用戶點擊第二個水果的時候調(diào)用消除判斷函數(shù),如果判斷函數(shù)判斷已經(jīng)標記的水果和當前用戶點擊的水果可以消除,將這兩個坐標位置的水果圖片置空,并繪制出鏈接線。如果判斷判斷當前用戶點擊的水果和已經(jīng)標記的水果不能進行消除,則刪除掉前一次標記的符號,并將當前水果作為標記符號,等待用戶的下一次點擊

33、,并作出下一次刪除的響應。其中標記效果圖如圖5-1所示,刪除效果圖如圖5-2所示。圖5-1 標記圖片圖 5-2 圖片消失示效果圖 當圖片消除時需要繪制兩個圖片之間的路徑,并且放大選中圖片。關鍵代碼如下所示:Point p1 = indextoScreen(pathi.x, pathi.y);Point p2 = indextoScreen(pathi + 1.x, pathi + 1.y);canvas.drawLine(p1.x + iconSize / 2, p1.y + iconSize / 2,p2.x + iconSize / 2, p2.y + iconSize / 2, pain

34、t);5.2.2 刷新地圖道具功能實現(xiàn):當用戶點擊了重置刷新按鈕以后,系統(tǒng)會調(diào)用重置函數(shù)。為所有現(xiàn)存沒有消除的圖片的x和y坐標用隨機數(shù)的方式產(chǎn)生,將原始圖片的位置換到新的圖片的位置,為了防止隨機數(shù)產(chǎn)生重復,我們采用計數(shù)的方式作為隨機數(shù)的種子。地圖刷新前的界面如圖5-3所示,地圖刷新后的界面如圖5-4所示。圖 5-3 重置工具使用前圖5-4 重置工具使用后當用戶點擊刷新地圖道具時,會重新刷新地圖,關鍵代碼如下:tmpX = 1 + random.nextInt(xCount - 2);tmpY = 1 + random.nextInt(yCount - 2);tmpV = mapxy;mapxy

35、 = maptmpXtmpY;maptmpXtmpY = tmpV;5.2.3 自動消除工具的實現(xiàn):當用戶點擊自動消除按鈕的時候,系統(tǒng)會從現(xiàn)存的圖片開始依次從左到右尋找一個圖片作為標記,然后對剩余的未標記的圖片進行匹配,如果有匹配成功的則消除這一對圖片,如果沒有匹配成功的則換一種水果進行匹配。為了提升匹配的速度,本系統(tǒng)中首先將現(xiàn)存的圖片種類分類。并且按照類別首先對該類別水果數(shù)最多的水果進行查找并消除判斷。如圖5-5所示。圖 5-5 自動消除工具使用效果 關鍵代碼如下:soundPlay.play(ID_SOUND_TIP, 0);Help-;toolsChangedListener.onTip

36、Changed(Help);drawLine(path.toArray(new Point );refreshHandler.sleep(500);5.2.4判斷圖片消除每次當玩家選中兩個圖案的時候,系統(tǒng)需要判斷是否能夠消除,如果能夠消除則顯示消除動畫,否則則等待第二次響應。消除算法4-3中有提到,在此不再贅述。5.2.5 判斷是否死亡當用戶點到某種情況,在這種情況下沒有可以消除的兩個圖片,這個時候系統(tǒng)判斷以后會自己調(diào)用刷新函數(shù)。算法的基礎為“自動消除工具”,當用戶每一次消除一對水果或者用戶點擊“消除工具”消除一對水果以后,系統(tǒng)都會調(diào)用“判斷死亡”函數(shù),“判斷死亡”函數(shù)可以理解為每一次都調(diào)用“

37、系統(tǒng)自動消除”函數(shù),但是系統(tǒng)并不做真正的消除,只是判斷有沒有可以消除的水果對,如果有可以消除的水果對,函數(shù)將停止繼續(xù)的遍歷檢驗,如果沒有消除的水果對,系統(tǒng)將自動調(diào)用“地圖刷新”函數(shù)?!暗貓D刷新”函數(shù)即為5.2.2節(jié)中所提到的刷新函數(shù)。5.3 本章小結本章主要介紹了工程的創(chuàng)建方法、系統(tǒng)主要功能的實現(xiàn)、“連連看”消除算法的實現(xiàn),并附有關鍵的代碼。第六章 系統(tǒng)的測試與分析6.1 功能測試6.1.1界面界面主要分為主界面,用戶注冊界面,用戶登錄界面,游戲界面等。主界面如圖6.1所示:圖6-1 主界面新用戶注冊界面如圖6.2所示:圖 6-2 用戶注冊界面用戶登錄界面如圖6.3所示圖6-3 用戶登錄界面難

38、度設置界面如圖6.4所示:圖6-4 難度設置界面主界面如圖6.5所示圖6-5 主界面6.1.2 消除效果經(jīng)測試圖片效果可以三種情況都可以正常消除、并且可以判斷用戶選取是否滿足要求,由于不好截圖,此處不給出消除效果圖片。6.1.3 道具使用經(jīng)測試刷新地圖道具能夠正常使用,自動消除功能道具可以正常使用,由于圖片不好截圖,此處不予給出。6.1.4 背景音樂經(jīng)過測試表明,游戲時有背景音樂,并且可以通過“設置”按鈕設置音樂聲音的大小,同時在消除圖片和使用道具的時候也會有響應的音效產(chǎn)生。6.1.5 用戶管理經(jīng)過測試表明該系統(tǒng)能夠管理用戶信息,完成用戶登錄,新用戶注冊,排行榜功能。6.1.6 結束經(jīng)過測試表明系統(tǒng)能夠正確判斷耗時,并顯示響應的失敗或者勝利的界面,同時能夠

溫馨提示

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

評論

0/150

提交評論