




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于J2ME的手機(jī)游戲開發(fā)與實(shí)現(xiàn)THE DEVELOPEMT AND IMPLIEMNTATION OF THE MOBILE GAME BASED ON J2ME 摘 要本文通過對Android應(yīng)用方法的初步研究,在對市場上主流手機(jī)網(wǎng)絡(luò)游戲軟件進(jìn)行調(diào)研和學(xué)習(xí)的基礎(chǔ)上,設(shè)計(jì)出了一款在Android平臺上基于J2ME的“連連看”小游戲。首先分析了當(dāng)前手機(jī)游戲的發(fā)展情況,介紹了開發(fā)基于J2ME手機(jī)游戲需要的相關(guān)技術(shù)以及環(huán)境配置;然后基于世面主流手機(jī)游戲的調(diào)研對本系統(tǒng)做出了詳細(xì)的需求分析;最后根據(jù)需求分析介紹了系統(tǒng)的設(shè)計(jì)方案以及實(shí)現(xiàn)過程,并對性能做出了測試與分析。本系統(tǒng)完成了“連連看”的基本游戲要求
2、,界面美觀。同時(shí)創(chuàng)新的添加了用戶管理模塊,實(shí)現(xiàn)了用戶登錄、注冊、查看排行榜等功能,提升了游戲的體驗(yàn)。關(guān)鍵詞:J2ME;手機(jī)游戲;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 所屬領(lǐng)域發(fā)展?fàn)顩r41.4 課題研究價(jià)值及意義41.5 論文結(jié)構(gòu)安排51.6 本章小結(jié)6第二
6、章 相關(guān)開發(fā)技術(shù)介紹72.1 Java相關(guān)技術(shù)介紹72.2 J2ME相關(guān)技術(shù)介紹82.3 本章小結(jié)9第三章 系統(tǒng)的需求分析103.1系統(tǒng)的需求分析103.2 可行性分析11第四章 系統(tǒng)的設(shè)計(jì)134.1功能模塊設(shè)計(jì)134.2 系統(tǒng)流程的設(shè)計(jì)134.3 系統(tǒng)關(guān)鍵算法的設(shè)計(jì)15第五章 系統(tǒng)的實(shí)現(xiàn)165.1系統(tǒng)工程的創(chuàng)建165.2 主要功能的實(shí)現(xiàn)165.3 本章小結(jié)24第六章 系統(tǒng)的測試與分析256.1 功能測試256.2 性能測試與分析286.3本章小結(jié)29第七章 總結(jié)與展望307.1 總結(jié)307.2 未來工作展望30參考文獻(xiàn)31s第一章 緒論1.1 引言現(xiàn)在的手機(jī)小游戲操作簡單、容易上手、無需注冊
7、,深受廣大消費(fèi)者的歡迎,連連看游戲就是其中比較典型的一個小游戲。它很好地緩沖了當(dāng)今人們的緊張生活節(jié)奏,為一些枯燥時(shí)刻帶來另樣而歡快的享受。小游戲“連連看”長期占據(jù)穩(wěn)中有各大游戲網(wǎng)站受歡迎程度的前5名,包括QQ游戲、4399游戲網(wǎng)和其它移動終端設(shè)備。因?yàn)樗囊?guī)則比較簡單,老少皆宜,只需將相同的兩個圖案用3根以內(nèi)的直線相連消除即可,而且游戲的界面清新可愛,特別受到一些小朋友及女性玩家的喜愛;同時(shí),每過一關(guān)后的難度層層遞時(shí),也使游戲本身具有一定的挑戰(zhàn)性,這給一些玩家?guī)硪欢ǖ拇碳じ?,從而更具吸引力。本文設(shè)計(jì)的系統(tǒng)使用J2ME開發(fā)包設(shè)計(jì)并實(shí)現(xiàn)出一款基于J2ME的“連連看”小游戲。要求該游戲能在安卓系統(tǒng)
8、手機(jī)上正常運(yùn)行。1.2 課題背景介紹在現(xiàn)代社會,手機(jī)已經(jīng)成為人們在日常生活的中使用最頻繁的和比較方便的通信工具。比起家庭贏座機(jī),手機(jī)具有相同或者更低的使用成本,并且擁有隨地交流的優(yōu)勢,使人們擺脫各種約束的良好溝通。在城市中,基本上所有人都擁有一部或多部手機(jī),由此而來的高滲透率,使得無線移動娛樂產(chǎn)業(yè)的高速發(fā)展。手機(jī)由于其普及性與現(xiàn)代人的生活方式息息相關(guān)。因?yàn)樗麄兪禽p便同時(shí)功能強(qiáng)大,除了電話連接和網(wǎng)絡(luò)訪問等其他功能,手機(jī)游戲手機(jī)已經(jīng)成為每個用戶隨時(shí)隨地都會用到的應(yīng)用。雖然單個游戲的價(jià)格不貴,不能一次性產(chǎn)生較高的利潤,但由于其巨大的市場和使用流量巨大,將使業(yè)務(wù)手機(jī)游戲的市場仍有很大的發(fā)展空間。手機(jī)游
9、戲基本上分為四類:內(nèi)嵌式游戲、Wap網(wǎng)絡(luò)游戲、智能手機(jī)游戲、J2ME手機(jī)游戲。內(nèi)嵌式游戲:一些手機(jī)游戲在交貨前固定在手機(jī)芯片內(nèi),例如“貪吃蛇”、“彈球游戲”這些常見的手機(jī)自帶的游戲。但是因?yàn)檫@樣,用戶將無法安裝或更新更多他們喜愛的游戲,所以不是很方便。 Wap網(wǎng)絡(luò)游戲:基于網(wǎng)頁的游戲,現(xiàn)在由于HTML5的普及,Wap網(wǎng)游又產(chǎn)生了新一波的崛起,但是有良好用戶交互的基于Wap圖形網(wǎng)游目前只有少數(shù)公司掌握這個技術(shù),技術(shù)不成熟有待發(fā)展。 智能手機(jī)游戲:開發(fā)人員通常定位在Series60,Windows mobile,Brew, IOS,Android開發(fā)在底部的游戲在移動設(shè)備上,但其開發(fā)難度和移植成本
10、將大大提高。J2me手機(jī)游戲:針對其他手機(jī)游戲的缺點(diǎn),Java技術(shù)在移動設(shè)備的無線應(yīng)用特殊優(yōu)勢非常明顯。目前的手機(jī)游戲,大多使用J2ME技術(shù),因?yàn)槭謾C(jī)可以支持Java平臺, J2ME技術(shù)也有其更廣闊的發(fā)展空間。J2ME具有快速、靈活和方便。集體來說:l 游戲應(yīng)用程序可以隨意下載,不需其他應(yīng)用支持,可以升級空間大,升級容易。l 超過95%的手機(jī)支持Java,并且至少50%的手機(jī)都裝在Android操作系統(tǒng),并且手機(jī)的性能還在不斷飛速發(fā)展。l 解除實(shí)時(shí)占用網(wǎng)絡(luò)帶寬、節(jié)省流量,因?yàn)榭梢詫惭b包在有WIFI的時(shí)候下載到設(shè)備,并在本地安裝操作,只是運(yùn)行交互時(shí)需要連接到服務(wù)器將占移動網(wǎng)絡(luò)帶寬,現(xiàn)在每月流量
11、不再是一個問題?;贘2ME手機(jī)游戲?qū)⑹謾C(jī)游戲公司的核心,為了生存在激烈的移動游戲市場的競爭環(huán)境,提高質(zhì)量和效率,是重心的移動游戲公司未來的發(fā)展。1.3 所屬領(lǐng)域發(fā)展?fàn)顩r據(jù)相關(guān)網(wǎng)站的數(shù)據(jù)統(tǒng)計(jì)顯示,至13年6月,網(wǎng)上提供的J2ME相關(guān)的技術(shù)崗位將近4000個,而在一個月內(nèi)的有效崗位量超過了2000個。一些比較熱門的崗位包括:J2ME開發(fā)工程師、軟件工程師、應(yīng)用開發(fā)工程師等,此外,還包括:系統(tǒng)驅(qū)動工程師,人機(jī)交互分析工程師、中間層開發(fā)工程師等。雖然基于J2ME人才需求類型較大,但總的來說分為兩大類,一類是偏向硬件驅(qū)動,一類是偏向軟件應(yīng)用。從招聘數(shù)量上統(tǒng)計(jì),后者的需求量更大。據(jù)職酷網(wǎng)統(tǒng)計(jì)顯示,在目前
12、企業(yè)J2ME的需求結(jié)構(gòu)上分析,對軟件的J2ME開發(fā)人才占比較大,超過了總需求的70%。有相關(guān)學(xué)者做了手機(jī)應(yīng)用市場的研究,指出手機(jī)游戲的商業(yè)潛力極為巨大。調(diào)查顯示,超過三成的手機(jī)玩家喜歡玩益智類的游戲,有四分之一的玩家鐘情于策略類的游戲,這兩者比重達(dá)到近6成。而“連連看”恰恰很好的結(jié)合了策略和益智這兩因素,加上其本身操作簡單,界面比較友好,也受到許多女性朋友的喜愛。調(diào)查得知,“連連看”小游戲在2008年的國內(nèi)市場占有額為1億元,而到2009年迅速發(fā)展到了2.5億元,到2010年則超過4億元,增長率超過了30%。相信隨著手機(jī)的推廣和技術(shù)和更新,“連連看”小游戲會有進(jìn)一步的發(fā)展。從以上分析可以看出,
13、“連連看”雖然投資小,但其回報(bào)較快,其上升空間巨大,商業(yè)價(jià)值極為可觀。1.4 課題研究價(jià)值及意義比起大型的手機(jī)網(wǎng)絡(luò)游戲,現(xiàn)在的小游戲更受到消費(fèi)者們的歡迎,除了游戲操作簡單, ,許多游戲已經(jīng)成為一種經(jīng)典中的經(jīng)典,比如連連看游戲,能夠良好的緩沖當(dāng)今人民緊張的生活節(jié)奏,帶來一些無聊的時(shí)刻另一個快樂的享受。同時(shí)由于其輕量,用戶可以在即使沒有WIFI覆蓋的情況下使用網(wǎng)絡(luò)游戲。無論是主流網(wǎng)絡(luò)游戲平臺或者是任何移動終端設(shè)備,小游戲“連連看”總是在前五名的最受歡迎的游戲。它的游戲規(guī)則很簡單,只要兩個相同的圖案,三根直線以內(nèi)可以連接到則消除,年輕人和老年人有能快速上手并且體會到快樂。再加上它清新可愛的畫面,輕松
14、愉快的節(jié)奏游戲,廣受兒童和女性朋友的喜愛;由于在給定的時(shí)間內(nèi)需要消除所有模式,并且每一個模式也會減少任務(wù)完成時(shí)間,它帶給玩家挑戰(zhàn)和精神刺激十分有吸引力。它集休閑、娛樂、教育為一體,已成為一個非常受歡迎的經(jīng)典游戲。完成這個主題的研究,不僅可以增加項(xiàng)目的經(jīng)驗(yàn),同時(shí)還能提高我的新知識領(lǐng)域的自學(xué)能力和對已學(xué)知識的實(shí)踐應(yīng)用能力。同時(shí)還加深認(rèn)識用戶對手機(jī)游戲的功能需求,進(jìn)一步把握手機(jī)游戲應(yīng)該很容易上手,基于訂閱功能,可中斷和豐富的社會互動功能等幾大特點(diǎn)。另外也很好理解和參與游戲開發(fā)的基本流程,進(jìn)一步擴(kuò)大了知識面。通過設(shè)計(jì)和實(shí)現(xiàn)基于J2ME的“連連看”小游戲,對J2ME開發(fā)技術(shù),圖像編程,也有一個更深入的了
15、解,為未來繼續(xù)學(xué)習(xí)和工作奠定了良好的基礎(chǔ)。1.5 論文結(jié)構(gòu)安排整個論文分為七章,大致安排如下: 第一章為緒論部分,主要介紹了課題的背景,介紹了手機(jī)市場的現(xiàn)狀,J2ME與其他手機(jī)游戲開發(fā)平臺相比的優(yōu)點(diǎn);基于J2ME手機(jī)小游戲相關(guān)領(lǐng)域的發(fā)展?fàn)顩r,以及這次課題的研究價(jià)值與意義,最后介紹了論文的行文安排。 第二章介紹游戲系統(tǒng)開發(fā)所需要的相關(guān)技術(shù),包括:java技術(shù)的介紹、J2ME技術(shù)框架介紹和開發(fā)技術(shù)介紹等,并且詳細(xì)介紹了系統(tǒng)開發(fā)環(huán)境的搭建等工序。第三章為系統(tǒng)的需求分析。主要介紹了基于“連連看”游戲基本運(yùn)作規(guī)則和用戶體驗(yàn)兼顧創(chuàng)新點(diǎn)做出了性能分析和功能分析,根據(jù)需求分析從技術(shù)、社會、操作、技術(shù)等方面進(jìn)行
16、了詳細(xì)的可行系分析。第四章為系統(tǒng)的設(shè)計(jì)。根據(jù)第三章對功能和性能的需求分析,本章著重闡述了系統(tǒng)的設(shè)計(jì)。包括系統(tǒng)的基本流程設(shè)計(jì),系統(tǒng)的功能模塊劃分與設(shè)計(jì),界面的設(shè)計(jì),確定系統(tǒng)編程風(fēng)格等工作。第五章為系統(tǒng)的實(shí)現(xiàn)。本章主要介紹了工程的創(chuàng)建方法、系統(tǒng)主要功能的實(shí)現(xiàn)、“連連看”消除算法的實(shí)現(xiàn),并附有關(guān)鍵的代碼。第六章為系統(tǒng)的測試與分析,主要針對系統(tǒng)的需求分析做出了性能上和功能上的測試與分析。第七章為總結(jié)與展望,主要回顧整篇論文,并對對整個系統(tǒng)中所做工作做了一次詳細(xì)的總結(jié),并對未來的工作做出展望。1.6 本章小結(jié)第一章主要介紹了課題的背景,研究了基于J2ME手機(jī)游戲開發(fā)的的價(jià)值和意義,介紹了論文結(jié)構(gòu)的安排。
17、為后續(xù)系統(tǒng)的分析和設(shè)計(jì)提供了背景的支持和理論的依據(jù)。第2章 相關(guān)開發(fā)技術(shù)介紹2.1 Java相關(guān)技術(shù)介紹Java是一種跨平臺的高級面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,于1995年5月由Sun公司提出(Sun Microsystems Inc.)。Java平臺根據(jù)其應(yīng)用領(lǐng)域分為三種:JavaSE,其是Java平臺的基礎(chǔ),主要通過Java語言,JDK和JRE和JVM四大部分;JavaEE同是JavaSE的基礎(chǔ),包括了一系列服務(wù)、API和協(xié)議;JavaME是Java平臺版本的小的一種,主要用于小型數(shù)碼設(shè)備上的應(yīng)用的程序開發(fā)和部署應(yīng)用程序平臺,比較典型的應(yīng)用有手機(jī)和股票機(jī)。Java有許多論壇可以提供比較豐富的資源
18、,來自不同領(lǐng)域的開發(fā)人員都可以用Java做出了自己的貢獻(xiàn),促使Java飛速的發(fā)展。作為一個高級編程語言,Java有許多重要的特征,主要特點(diǎn)有:(1) 可移植性 移植就是使程序運(yùn)行在另一個平臺上這不是一件容易的事情,需要考慮很多因素,比如不同平臺上的數(shù)據(jù)商都是不一樣的,又比如存在大端存儲和小端存儲等,然后Java數(shù)據(jù)類型的內(nèi)存長度在不同的平臺上是統(tǒng)一的,這是C/ c+系列所不能做到的(正如你所知道的一樣LINUX是大端存儲WINDOWS是小端存儲)。所以對于?°編寫一次,隨處運(yùn)行?±這種想法,Java提供了更多的可能性。(2) 基于解釋的程序在一個平臺上運(yùn)行,首先必須被編譯成
19、原始的機(jī)器語言平臺可以理解的原語,但實(shí)際上不同平臺的原語的理解是不一樣的。不同的平臺之間為了解決這個問題,引入Java JVM(Java字節(jié)碼文件,可以進(jìn)行虛擬操作系統(tǒng)),在運(yùn)行Java程序時(shí),Java實(shí)時(shí)編譯器通常是先將字節(jié)碼編譯成可以被目標(biāo)平臺理解機(jī)器語言。有別于C/C+系列,JAVA語言是邊解釋邊執(zhí)行的。(3) 簡單性Java語言中包含了大量的C/C+語法,因此對于熟悉C/C+的開發(fā)人員能在較短的時(shí)間內(nèi)掌握J(rèn)ava的運(yùn)用。此外,Java在C/C+的基礎(chǔ)上放棄了一些使用很少有難于掌握還可能不安全功能,如操作符重載、指針和多重繼承等。(4) 基于網(wǎng)絡(luò)的Java本身就是出生在網(wǎng)絡(luò),從最初的Ap
20、plet,socket套接字,JSP/ Servlet直到現(xiàn)在流行的Web服務(wù),這表示Java Web服務(wù)和其他相關(guān)領(lǐng)域有突出貢獻(xiàn)。在B/S的發(fā)展領(lǐng)域,Java編程語言遠(yuǎn)比c+編程語言好。(5)面向?qū)ο蟮母呒壘幊陶Z言Java語言是一種純粹的面向?qū)ο蟮母呒壘幊陶Z言,它允許您使用面向?qū)ο蟮乃季S方式來設(shè)計(jì)和編寫程序。面向?qū)ο蟮膬?yōu)點(diǎn)是,你可以設(shè)計(jì)一個可重用的組件或直接移動其他設(shè)計(jì)開發(fā)的組建更加靈活地開發(fā)出軟件。Java語言是通過提供類、接口和繼承機(jī)制來反映面向?qū)ο蟮奶攸c(diǎn)。c+的動態(tài)綁定只針對虛函數(shù),而Java是可以實(shí)現(xiàn)全部支持動態(tài)綁定。2.2 J2ME相關(guān)技術(shù)介紹J2ME技術(shù)是基于基本的Java環(huán)境開
21、發(fā)的一個抽象層,這個抽象層構(gòu)建于手機(jī)操作系統(tǒng)和硬件平臺之間,使系統(tǒng)具備很好的內(nèi)存管理功能,以及各種安全機(jī)制和無效對象回收機(jī)制。代碼具有一定的傳輸能力,使得一份代碼包能夠通過各種形式下載,安全的到達(dá)不同硬件上的 Java 虛擬機(jī)平臺【1】。J2ME 基于 Java,但省去了許多沒必要的功能,因?yàn)閷τ?J2ME 支持的那些電子設(shè)備而言屏幕尺寸,功能有限。因此 J2ME中 包括了 UI 包來與這些設(shè)備配套【2】。 J2ME 與 J2EE,J2SE 在類庫級別上的關(guān)系如圖 2-1 所示。 圖 2-1 J2ME與J2EE,J2SE類庫的關(guān)系J2ME體系結(jié)構(gòu)包含三層:第一層為Java虛擬機(jī)層,第二層為CL
22、DC /CDC配置層。第三層為,由小型電子設(shè)備的應(yīng)用程序編程接口的最小集合組成的協(xié)議層。如圖2-2所示。圖2-2 J2ME平臺總體框架2.3 本章小結(jié) 本章介紹了開發(fā)該游戲系統(tǒng)需要的相關(guān)技術(shù)的介紹,包括:java技術(shù)的介紹、J2ME技術(shù)框架介紹和開發(fā)技術(shù)介紹等,并且詳細(xì)介紹了系統(tǒng)開發(fā)環(huán)境的搭建等工序。為后面開發(fā)做準(zhǔn)備。第三章 系統(tǒng)的需求分析3.1系統(tǒng)的需求分析3.1.1 游戲的基本規(guī)則在游戲地圖上,每一次選擇連接兩個相同的圖片,如果連接成功,那么消除它們在規(guī)定時(shí)間內(nèi)消除完畢則勝利。鏈接規(guī)則,是只兩個圖片之間只能用三根直線鏈接起來。根據(jù)時(shí)間確定簡單、普通、困難三種難度模式。在游戲過程中,道具可以
23、提示玩家,道具有地圖刷新功能、自動消除功能等。3.1.2 功能需求分析根據(jù)“連連看”游戲本身的特點(diǎn)以及提高用戶的使用體驗(yàn)。我們初步規(guī)定了有以下功能。相同圖案的鏈接功能,具體來說一般有三種情況:一條直線即可鏈接,我們稱其為“零折型鏈接”;兩條直線即可連接,我們稱其為“一折型連接”;三條直線鏈接,我們稱其為“兩折型鏈接”。滿足這三種情況的相同兩幅圖片通過線連接以后既可以消除。界面顯示功能:主要包括菜單的顯示、地圖的顯示以及操作時(shí)效果的顯示。音樂播放功能:用戶在游戲時(shí)候可以播放音樂來提高游戲的體驗(yàn)感和樂趣。道具功能:游戲中設(shè)定了兩種道具,一種是地圖刷新道具:該道具用于地圖刷新,由用戶主動點(diǎn)擊道具,該
24、道具會重新再現(xiàn)有圖片的位置上打散所有圖片,降低游戲難度。另外一種是自動消除工具,由用戶主動點(diǎn)擊道具,點(diǎn)擊以后系統(tǒng)自己計(jì)算出一條可以消除的路線并且自動消除一組圖片,達(dá)到降低難度的目的。用戶管理模塊:為了提升游戲的體驗(yàn)以及交互功能,我們設(shè)計(jì)了用戶管理模塊,主要包括用戶的注冊、用戶的登錄以及排行榜。游戲開始的時(shí)候,系統(tǒng)會提示注冊新用戶或者用以前用戶名字登錄,登錄以后的游戲結(jié)束系統(tǒng)會根據(jù)本局所得分?jǐn)?shù)來設(shè)定排行榜。圖3-1 系統(tǒng)功能結(jié)構(gòu)圖3.1.2 性能需求分析根據(jù)“連連看”游戲本身的特點(diǎn)以及提高用戶的使用體驗(yàn)。我們初步規(guī)定了有以下新能需求。界面美觀:需要有美觀的界面提升用戶的使用體驗(yàn)。穩(wěn)定性:游戲需要
25、有一定的穩(wěn)定新,在用戶長期連續(xù)使用的時(shí)候系統(tǒng)不會產(chǎn)生崩潰以及卡死的現(xiàn)象??刹僮餍裕菏褂脩粝螺d游戲以后不需要特別的教學(xué),只要熟悉練練看的規(guī)則即可流暢的使用本系統(tǒng)。流暢性:保證游戲運(yùn)行在所有運(yùn)算過程以及圖片渲染顯示時(shí)都能保證畫面的流暢性,不會卡死或者使手機(jī)速度變慢。3.2 可行性分析3.2.1操作游戲的可行性是其操作的成功的關(guān)鍵,應(yīng)作為游戲設(shè)計(jì)的第一位來考慮。以往,許多游戲成為玩家討論的焦點(diǎn)經(jīng)常是操作的可行性。因此,可以看出,游戲的操作可行性直接決定著其吸引力。游戲時(shí)間應(yīng)該合理,既不太長也不太短。通過用戶調(diào)查后,最終決定初級難度的游戲時(shí)間設(shè)置為100秒,中級的時(shí)間設(shè)定為80秒,高級的游戲時(shí)間設(shè)置為
26、60秒。這樣既保證了初級玩家可以快速通關(guān)提升了游戲的可玩性,同時(shí)也讓高級玩家在高級模式不是那么熔體通過,提升了挑戰(zhàn)性。3.2.2技術(shù)Android的開發(fā)和利用是基于Java語言,JDK是一個Java項(xiàng)目的開發(fā),其必須包含開發(fā)工具包。在Android應(yīng)用程序開發(fā)應(yīng)該建立相應(yīng)的開發(fā)環(huán)境,基于Eclipse Java是一個不錯的選擇。Eclipse安裝谷歌Android平臺開發(fā)公司提供的ADT插件后可以作為Android開發(fā)平臺后不僅是一個免費(fèi)和開源IDE。Android平臺為開發(fā)者提供開源軟件開發(fā)工具包,包含必要的Android平臺的應(yīng)用程序開發(fā)工具和組件。這些插件有助于企業(yè)Java應(yīng)用程序平穩(wěn)過
27、渡到智能終端Android游戲開發(fā)。Eclipse是一個很好的游戲動畫軟件。鑒于其面向?qū)ο缶幊痰奶攸c(diǎn),極大地提高應(yīng)用程序開發(fā)的效率。和Eclipse與一些常用組件,為我們開發(fā)提供了極大的便利??傊?系統(tǒng)開發(fā)從技術(shù)上來說是可行的。3.1.3經(jīng)濟(jì)通過全面的手機(jī)應(yīng)用市場研究分析和“連連看”游戲產(chǎn)業(yè)發(fā)展前景的調(diào)查,“連連看”小游戲雖然投資小,但其收益較快,必將成為一個風(fēng)險(xiǎn)資本市場關(guān)注的產(chǎn)品,其經(jīng)濟(jì)價(jià)值尤為重要。開發(fā)所需的軟件和硬件系統(tǒng)是很容易獲取,這使開發(fā)成本非常低??傊?該系統(tǒng)經(jīng)濟(jì)上也是可行的。第四章 系統(tǒng)的設(shè)計(jì)4.1功能模塊設(shè)計(jì)結(jié)合“連連看”的功能需求和系統(tǒng)的性能要求,構(gòu)建了三個功能模塊。游戲功能
28、實(shí)現(xiàn)模塊:主要用于實(shí)現(xiàn)游戲的功能。包括連連看算法是實(shí)現(xiàn)、背景音樂和音效給播放、游戲時(shí)間進(jìn)度和分?jǐn)?shù)的計(jì)算、計(jì)算排行榜分?jǐn)?shù)、搭建系統(tǒng)主框架等游戲運(yùn)作功能。游戲顯示模塊:主要用戶地圖的布局和顯示、消除方塊時(shí)候的動畫,已經(jīng)其他界面的顯示功能。用戶管理模塊:主要用于管理用戶用戶名、密碼等信息,記錄用戶的分?jǐn)?shù)等功能。4.2 系統(tǒng)流程的設(shè)計(jì) 根據(jù)“連連看”的功能需求和系統(tǒng)的新能需求,設(shè)計(jì)了如下的系統(tǒng)流程:首先用戶進(jìn)入游戲需要注冊和登錄,注冊成功后既可以開始游戲,在游戲過程中可以設(shè)置游戲的聲音,選擇游戲的難度。如果通關(guān)以后可以選擇繼續(xù)下一關(guān)或者結(jié)束游戲。當(dāng)游戲結(jié)束后可以查看排行榜,排行榜也可以手工選擇查看。闖
29、關(guān)失敗以后可以選擇再玩一次或者結(jié)束游戲。系統(tǒng)流程圖如4-1所示:圖4-1 “連連看”系統(tǒng)流程圖4.3 系統(tǒng)關(guān)鍵算法的設(shè)計(jì) 系統(tǒng)的主要核心算法就是相同圖像的消除算法,根據(jù)需求分析中的三種情況,其算法設(shè)計(jì)如下:1、 當(dāng)用戶選擇兩張圖片以后判斷兩張圖片是否相同,如果相同則繼續(xù)進(jìn)行第二步,如果不相同等待用戶的下一次選擇。2、 兩幅相同的圖片需要消除這需要滿足這兩幅圖片在沒有其他圖片阻擋的情況下用三條直角圖片鏈接起來。我們將沒有圖片阻擋的格子標(biāo)記成可走路線。在可走路線中我們繼續(xù)進(jìn)行一下判斷:第一種:零拐角鏈接。看兩幅圖片是否存在一條直線路徑,如果存在則可以消除。第二種:一個拐角的鏈接。當(dāng)?shù)谝环N情況嘗試失
30、敗了,則再嘗試在第一副圖片的同一行尋找一個空格該空格位置是否能與第二幅圖進(jìn)行零拐角的鏈接,如果有則鏈接成功,如果沒有則再測試第二幅圖片的同一列上的空格是否存在一個空格能與第一幅圖片產(chǎn)生零拐角的鏈接,如果可以則鏈接成功,否則鏈接失敗。第三種:當(dāng)?shù)谝环N、第二種情況都失敗了,再進(jìn)行如下 嘗試:在第一副圖片的同一行尋找一個空格該空格位置是否能與第二幅圖進(jìn)行“一個拐角”的鏈接,如果有則鏈接成功,如果沒有則再測試第二幅圖片的同一列上的空格是否存在一個空格能與第一幅圖片產(chǎn)生“一個拐角”的鏈接,如果可以則鏈接成功,否則鏈接失敗。3、 當(dāng)鏈接成功則顯示兩幅圖片消失效果并將兩個圖片的位置置空,否則則等待下一次的響
31、應(yīng)。系統(tǒng)算法實(shí)現(xiàn)如圖4-2所示:圖4-2 連連看算法實(shí)現(xiàn)第五章 系統(tǒng)的實(shí)現(xiàn)5.1系統(tǒng)工程的創(chuàng)建點(diǎn)擊進(jìn)入系統(tǒng),創(chuàng)建一個命名為llk.Android的工程,選擇建立在API8 SDK2.2版本。其中主要的類和借口的說明如下(1)OnStateListener接口:用于監(jiān)聽游戲的狀態(tài):例如:暫停、勝利、失敗、退出等。(2)OnTimerListener接口:用于監(jiān)聽游戲的剩余時(shí)間。(3)OnToolsChangeListener接口:用于監(jiān)聽道具使用次數(shù)。(4)MyDialog類:用于顯示游戲的主界面。 (5)SoundPlay類:用于實(shí)現(xiàn)游戲聲音和音效的播放。 (6)BoardView類:用于實(shí)現(xiàn)
32、游戲中地圖的顯示,以及消除等效果。(7)GameView類:用于實(shí)現(xiàn)游戲中消除算法,并且監(jiān)聽用戶響應(yīng)事件。(8)WelActivity類:用于提供游戲與用戶的 交互,負(fù)責(zé)對游戲各種實(shí)時(shí)狀態(tài)的監(jiān)控。5.2 主要功能的實(shí)現(xiàn)5.2.1 消除圖片的顯示 消失圖片的主要算法為:首先根據(jù)用戶的選擇標(biāo)出用戶希望消除的第一個水果,當(dāng)用戶點(diǎn)擊第二個水果的時(shí)候調(diào)用消除判斷函數(shù),如果判斷函數(shù)判斷已經(jīng)標(biāo)記的水果和當(dāng)前用戶點(diǎn)擊的水果可以消除,將這兩個坐標(biāo)位置的水果圖片置空,并繪制出鏈接線。如果判斷判斷當(dāng)前用戶點(diǎn)擊的水果和已經(jīng)標(biāo)記的水果不能進(jìn)行消除,則刪除掉前一次標(biāo)記的符號,并將當(dāng)前水果作為標(biāo)記符號,等待用戶的下一次點(diǎn)擊
33、,并作出下一次刪除的響應(yīng)。其中標(biāo)記效果圖如圖5-1所示,刪除效果圖如圖5-2所示。圖5-1 標(biāo)記圖片圖 5-2 圖片消失示效果圖 當(dāng)圖片消除時(shí)需要繪制兩個圖片之間的路徑,并且放大選中圖片。關(guān)鍵代碼如下所示: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 刷新地圖道具功能實(shí)現(xiàn):當(dāng)用戶點(diǎn)擊了重置刷新按鈕以后,系統(tǒng)會調(diào)用重置函數(shù)。為所有現(xiàn)存沒有消除的圖片的x和y坐標(biāo)用隨機(jī)數(shù)的方式產(chǎn)生,將原始圖片的位置換到新的圖片的位置,為了防止隨機(jī)數(shù)產(chǎn)生重復(fù),我們采用計(jì)數(shù)的方式作為隨機(jī)數(shù)的種子。地圖刷新前的界面如圖5-3所示,地圖刷新后的界面如圖5-4所示。圖 5-3 重置工具使用前圖5-4 重置工具使用后當(dāng)用戶點(diǎn)擊刷新地圖道具時(shí),會重新刷新地圖,關(guān)鍵代碼如下:tmpX = 1 + random.nextInt(xCount - 2);tmpY = 1 + random.nextInt(yCount - 2);tmpV = mapxy;mapxy
35、 = maptmpXtmpY;maptmpXtmpY = tmpV;5.2.3 自動消除工具的實(shí)現(xiàn):當(dāng)用戶點(diǎn)擊自動消除按鈕的時(shí)候,系統(tǒng)會從現(xiàn)存的圖片開始依次從左到右尋找一個圖片作為標(biāo)記,然后對剩余的未標(biāo)記的圖片進(jìn)行匹配,如果有匹配成功的則消除這一對圖片,如果沒有匹配成功的則換一種水果進(jìn)行匹配。為了提升匹配的速度,本系統(tǒng)中首先將現(xiàn)存的圖片種類分類。并且按照類別首先對該類別水果數(shù)最多的水果進(jìn)行查找并消除判斷。如圖5-5所示。圖 5-5 自動消除工具使用效果 關(guān)鍵代碼如下:soundPlay.play(ID_SOUND_TIP, 0);Help-;toolsChangedListener.onTip
36、Changed(Help);drawLine(path.toArray(new Point );refreshHandler.sleep(500);5.2.4判斷圖片消除每次當(dāng)玩家選中兩個圖案的時(shí)候,系統(tǒng)需要判斷是否能夠消除,如果能夠消除則顯示消除動畫,否則則等待第二次響應(yīng)。消除算法4-3中有提到,在此不再贅述。5.2.5 判斷是否死亡當(dāng)用戶點(diǎn)到某種情況,在這種情況下沒有可以消除的兩個圖片,這個時(shí)候系統(tǒng)判斷以后會自己調(diào)用刷新函數(shù)。算法的基礎(chǔ)為“自動消除工具”,當(dāng)用戶每一次消除一對水果或者用戶點(diǎn)擊“消除工具”消除一對水果以后,系統(tǒng)都會調(diào)用“判斷死亡”函數(shù),“判斷死亡”函數(shù)可以理解為每一次都調(diào)用“
37、系統(tǒng)自動消除”函數(shù),但是系統(tǒng)并不做真正的消除,只是判斷有沒有可以消除的水果對,如果有可以消除的水果對,函數(shù)將停止繼續(xù)的遍歷檢驗(yàn),如果沒有消除的水果對,系統(tǒng)將自動調(diào)用“地圖刷新”函數(shù)?!暗貓D刷新”函數(shù)即為5.2.2節(jié)中所提到的刷新函數(shù)。5.3 本章小結(jié)本章主要介紹了工程的創(chuàng)建方法、系統(tǒng)主要功能的實(shí)現(xiàn)、“連連看”消除算法的實(shí)現(xiàn),并附有關(guān)鍵的代碼。第六章 系統(tǒng)的測試與分析6.1 功能測試6.1.1界面界面主要分為主界面,用戶注冊界面,用戶登錄界面,游戲界面等。主界面如圖6.1所示:圖6-1 主界面新用戶注冊界面如圖6.2所示:圖 6-2 用戶注冊界面用戶登錄界面如圖6.3所示圖6-3 用戶登錄界面難
38、度設(shè)置界面如圖6.4所示:圖6-4 難度設(shè)置界面主界面如圖6.5所示圖6-5 主界面6.1.2 消除效果經(jīng)測試圖片效果可以三種情況都可以正常消除、并且可以判斷用戶選取是否滿足要求,由于不好截圖,此處不給出消除效果圖片。6.1.3 道具使用經(jīng)測試刷新地圖道具能夠正常使用,自動消除功能道具可以正常使用,由于圖片不好截圖,此處不予給出。6.1.4 背景音樂經(jīng)過測試表明,游戲時(shí)有背景音樂,并且可以通過“設(shè)置”按鈕設(shè)置音樂聲音的大小,同時(shí)在消除圖片和使用道具的時(shí)候也會有響應(yīng)的音效產(chǎn)生。6.1.5 用戶管理經(jīng)過測試表明該系統(tǒng)能夠管理用戶信息,完成用戶登錄,新用戶注冊,排行榜功能。6.1.6 結(jié)束經(jīng)過測試表明系統(tǒng)能夠正確判斷耗時(shí),并顯示響應(yīng)的失敗或者勝利的界面,同時(shí)能夠
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 贈與汽車收回協(xié)議書
- led屏幕安裝協(xié)議書
- 車禍糾紛解決協(xié)議書
- 財(cái)務(wù)成本管理與邏輯思維的交融試題及答案
- 數(shù)據(jù)庫高可用性設(shè)計(jì)試題及答案
- 護(hù)理法律考試題目及答案
- 計(jì)算機(jī)二級Msoffice考試復(fù)習(xí)思路試題及答案
- 培養(yǎng)能力的計(jì)算機(jī)二級公共試題及答案
- Delphi語言基礎(chǔ)訓(xùn)練題試題及答案
- 工會法律測試題及答案
- 西南交11春學(xué)期《模擬電子技術(shù)A》離線作業(yè)
- 施工單位平安工地考核評價(jià)表(標(biāo)準(zhǔn))
- 建筑材料分類整理
- 人民幣發(fā)展史-課件(PPT演示)
- 經(jīng)歷是流經(jīng)裙邊的水
- 工作票培訓(xùn)-課件
- 骨科疾病的康復(fù)課件
- 三氯乙醛 氯醛MSDS危險(xiǎn)化學(xué)品安全技術(shù)說明書
- 合作社貸款申請書范文(優(yōu)選十三篇)
- 產(chǎn)品平臺與CBB技術(shù)管理課件
- 學(xué)院學(xué)生紀(jì)律處分登記表
評論
0/150
提交評論