![基于android的連連看的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)](http://file4.renrendoc.com/view8/M00/35/32/wKhkGWcZ3h-AMWfiAAIIr6vFTt4740.jpg)
![基于android的連連看的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)](http://file4.renrendoc.com/view8/M00/35/32/wKhkGWcZ3h-AMWfiAAIIr6vFTt47402.jpg)
![基于android的連連看的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)](http://file4.renrendoc.com/view8/M00/35/32/wKhkGWcZ3h-AMWfiAAIIr6vFTt47403.jpg)
![基于android的連連看的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)](http://file4.renrendoc.com/view8/M00/35/32/wKhkGWcZ3h-AMWfiAAIIr6vFTt47404.jpg)
![基于android的連連看的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)](http://file4.renrendoc.com/view8/M00/35/32/wKhkGWcZ3h-AMWfiAAIIr6vFTt47405.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本科實(shí)驗(yàn)報(bào)告課程名稱(chēng):基于android的連連看的設(shè)計(jì)與實(shí)現(xiàn)實(shí)驗(yàn)項(xiàng)目:建筑連連看2015年4月28日建筑連連看摘要隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,智能手持設(shè)備越來(lái)越重要在我們的日常生活中,各種移動(dòng)應(yīng)用在智能手持設(shè)備和PAD平板電腦上應(yīng)用。移動(dòng)游戲是消費(fèi)者利用隨身攜帶的智能移動(dòng)終端設(shè)備能隨時(shí)隨地來(lái)進(jìn)行的游戲。近年來(lái),手機(jī)游戲市場(chǎng)得到了很大的發(fā)展,手機(jī)游戲已成為使用率最高的手機(jī)娛樂(lè)應(yīng)用。Android是Google基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng),是首個(gè)為移動(dòng)終端打造的真正完整和開(kāi)放的移動(dòng)軟件。隨著Symbian系統(tǒng)的逐漸衰落,Android在手機(jī)世界里和iOS平分天下,是移動(dòng)互聯(lián)網(wǎng)時(shí)代最理想的手機(jī)軟件平臺(tái)。研究與開(kāi)發(fā)Android平臺(tái)手機(jī)游戲,成為一個(gè)非常有趣而又有發(fā)展的領(lǐng)域。本文通過(guò)對(duì)Android系統(tǒng)架構(gòu)和應(yīng)用開(kāi)發(fā)進(jìn)行初步研究,設(shè)計(jì)一款連連看小游戲。在對(duì)系統(tǒng)進(jìn)行詳細(xì)需求分析的基礎(chǔ)上,確定了系統(tǒng)的功能和性能要求,對(duì)游戲的菜單界面、屏幕繪制、時(shí)間控制、布局算法、連通算法、關(guān)卡設(shè)置、音效和動(dòng)畫(huà)進(jìn)行了設(shè)計(jì),并最終實(shí)現(xiàn)了一個(gè)界面友好、高效穩(wěn)定和富有娛樂(lè)性的手機(jī)連連看益智小游戲。讓人們?cè)诰o張的工作之余能夠方便地放松心情。關(guān)鍵詞:Android;Java;手機(jī);游戲;連連看Building
LianliankanAbstractWiththemobileInternetanyway,smarthandhelddevicesareincreasinglyimportantinourdailylife,avarietyofmobileapplicationsinthesmarthandhelddeviceandthePADTabletPCapplications.Themobilegameisthegamewhichconsumersuseportablesmartmobiledevicesanywhere,anytimetoplay.Inrecentyears,themobilegamingmarkethasbeendevelopedgreatly,mobilephonegameshavebecomethehighestratesofmobileentertainmentapplications.AndroidisanopensourcemobileoperatingsystemofGooglebasedonLinuxplatform.Itisthefirsttrulycompleteandopenmobilesoftwareformobileterminals.WiththegradualdeclineoftheSymbianOS,AndroidandiOSaresplittingtheworldofmobilephone.ItisthebestmobilephonesoftwareplatformformobileInternetera.TheresearchanddevelopmentoftheAndroidplatformmobilephonegamebecomesaveryinterestinganddevelopmentareas.ThispaperthroughapreliminarystudyontheAndroidsystemarchitectureandapplicationdevelopment,designedasmallgamecalledLianliankan.Basedonthedetailedrequestsanalysisofthesystem,itdeterminedthefunctionalandperformancerequirementsofthesystem,thenitdesignthegame'smenuinterface,screendrawing,timecontrol,thelayoutalgorithm,connectivityalgorithm,levelset,soundandanimation,finallyitrealizedamobilephoneLianliankanpuzzlegamewhichhasfriendinterface,highefficiencyandisstableandentertaining.Allowpeopletobeabletorelaxafterstressfulwork.Keywords:AndroidJavamobileGameLianliankan目錄TOC\o"1-3"\h\u1308建筑連連看 222710摘要 221848目錄 416654第一章緒論 1167121.1課題背景 1322471.2國(guó)內(nèi)外研究現(xiàn)狀 2147181.3發(fā)展趨勢(shì) 4299811.4課題研究意義 5283721.5論文結(jié)構(gòu)安排 6221161.6本章小結(jié) 621064第二章基礎(chǔ)知識(shí)與開(kāi)發(fā)技術(shù) 7299082.1Android技術(shù)簡(jiǎn)介 71832.1.1Android基本知識(shí) 781662.1.2Android系統(tǒng)特點(diǎn) 9249672.1.3Android手機(jī)平臺(tái)的優(yōu)勢(shì) 10184422.1.4Android手機(jī)游戲的市場(chǎng)價(jià)值 11142042.2Java技術(shù)簡(jiǎn)介 12206492.3游戲使用技術(shù) 1474942.3.1主要技術(shù)問(wèn)題 14171372.4本章小結(jié) 1529591第三章系統(tǒng)分析與設(shè)計(jì) 16287063.1可行性分析 16134973.1.1操作可行性 16182403.1.2技術(shù)可行性 165053.1.3經(jīng)濟(jì)可行性 173373.1.4社會(huì)可行性 1785603.2功能需求分析 1783373.3系統(tǒng)基本流程 1858583.3.1系統(tǒng)流程圖 18251553.3.2游戲詳細(xì)過(guò)程流程圖 1963523.4系統(tǒng)模塊設(shè)計(jì) 2073.5圖形連通算法設(shè)計(jì) 22273833.6系統(tǒng)風(fēng)格定位 22176283.7本章小結(jié) 2312740第四章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 24233494.1系統(tǒng)運(yùn)行界面圖 24119244.2開(kāi)發(fā)環(huán)境的搭建 2794274.3單項(xiàng)功能的實(shí)現(xiàn) 2847844.3.1消除圖片動(dòng)畫(huà)實(shí)現(xiàn): 28128594.3.2剩余時(shí)間效果實(shí)現(xiàn) 28182754.3.3進(jìn)度條效果實(shí)現(xiàn) 28243184.3.4游戲初始化 28152714.3.5判斷消除圖片 303064.3.6在兩圖片之間連線(xiàn) 3231184.4本章小結(jié) 3319920第五章系統(tǒng)測(cè)試與性能 35166055.1軟件測(cè)試 35247795.1.1測(cè)試簡(jiǎn)介 35294255.1.2測(cè)試分類(lèi) 3538725.1.3測(cè)試步驟 3623995.2游戲系統(tǒng)測(cè)試 3667065.3游戲性能分析 38259085.4本章小結(jié) 3822315第六章總結(jié)與展望 39261136.1結(jié)論 39128576.2進(jìn)一步工作方向 3911927參考文獻(xiàn) 4029917致謝 415272外文 42第一章緒論智能手機(jī)設(shè)備的迅速發(fā)展使得智能一體化的進(jìn)度開(kāi)始向物聯(lián)網(wǎng)發(fā)展,從第一代超大規(guī)模的計(jì)算機(jī)到個(gè)人PC,到現(xiàn)在的PAD和PC+系列,計(jì)算機(jī)產(chǎn)品開(kāi)始向微型化和智能化方向發(fā)展。從摩托羅拉發(fā)布第一臺(tái)彩屏手機(jī)以來(lái),智能手持設(shè)備不斷更新,從當(dāng)年的奔邁palm,到windowmobile和塞班,以及現(xiàn)在的IOS系統(tǒng)和,Andorid系統(tǒng)和windowsphone7系統(tǒng)的發(fā)布都使得手持設(shè)備越來(lái)越普及。游戲產(chǎn)業(yè)作為現(xiàn)代電腦電子技術(shù)的產(chǎn)物,正在以其獨(dú)特的魅力在全世界的娛樂(lè)領(lǐng)域占據(jù)主流位置,我們?cè)诔姓J(rèn)廣大娛樂(lè)網(wǎng)民在選擇空間狹小的同時(shí),也必須明確的一點(diǎn)就是游戲本身所具有的強(qiáng)大的吸引力。它在讓玩家打發(fā)時(shí)間的同時(shí),可以讓人實(shí)現(xiàn)在顯示生活中不能實(shí)現(xiàn)的理想,得到在現(xiàn)實(shí)中不能得到的東西。而且游戲產(chǎn)業(yè)促動(dòng)高科技技術(shù)不斷升級(jí),作為經(jīng)濟(jì)增長(zhǎng)的一大支撐點(diǎn),已經(jīng)成為經(jīng)濟(jì)騰飛的“第四產(chǎn)業(yè)”。本設(shè)計(jì)將使用Java語(yǔ)言和Android平臺(tái)實(shí)現(xiàn)出可以在模擬器上運(yùn)行的連連看游戲。1.1課題背景現(xiàn)代科學(xué)技術(shù)的發(fā)展,改變了人類(lèi)的生活,作為新世紀(jì)的大學(xué)生,應(yīng)該站在時(shí)代發(fā)展的前沿,掌握現(xiàn)代科學(xué)技術(shù)知識(shí),以適應(yīng)社會(huì)的發(fā)展,能夠獨(dú)立完成面臨的任務(wù),作一名有創(chuàng)新意識(shí)的新型人才。Android是一個(gè)基于Linux核心(kernel)的開(kāi)放手機(jī)平臺(tái)作業(yè)系統(tǒng)。與WindowsMobile、Symbian等手機(jī)作業(yè)系統(tǒng)處在同一級(jí)別。對(duì)于設(shè)備制造商來(lái)說(shuō),Android是一個(gè)免費(fèi)的平臺(tái)。Android作業(yè)系統(tǒng)讓設(shè)備制造商免除每出一臺(tái)手機(jī),就得被手機(jī)作業(yè)系統(tǒng)廠商的情況。對(duì)硬體開(kāi)發(fā)廠商來(lái)說(shuō),Android也是個(gè)開(kāi)放的平臺(tái)。只要廠商有能力,可以在這個(gè)平臺(tái)上自由加入特有的裝置或功能,不受手機(jī)作業(yè)系統(tǒng)廠商的限制。對(duì)于手持裝置的開(kāi)發(fā)者來(lái)說(shuō),Android是個(gè)先進(jìn)的平臺(tái)。平臺(tái)上的應(yīng)用程式可相容于各種型號(hào)的Android手機(jī),免去為各種不同手機(jī)機(jī)型開(kāi)發(fā)的困擾。Android平臺(tái)支援各種先進(jìn)的網(wǎng)路、繪圖、3D處理能力,可以用來(lái)提供更好的使用者體驗(yàn)。對(duì)于使用者來(lái)說(shuō),Android是一個(gè)用于手機(jī)的作業(yè)系統(tǒng)。使用者只要先申請(qǐng)一個(gè)免費(fèi)的Google帳戶(hù),當(dāng)使用者想換一臺(tái)手機(jī)時(shí),就可以在不同廠牌,同樣使用Android作業(yè)系統(tǒng)平臺(tái)的手機(jī)之間選擇,并且很容易地將如聯(lián)絡(luò)簿等個(gè)人資料轉(zhuǎn)換到新手機(jī)上。Android在Linux核心的基礎(chǔ)上,提供了各種合用的函數(shù)庫(kù),和一個(gè)完整的應(yīng)用程式框架。并采用較符合商用限制的Apache版權(quán)。在Linux核心的基礎(chǔ)上提供Google自制的應(yīng)用程式運(yùn)行環(huán)境(稱(chēng)作Dalvik,與Sun的J2ME不同),并提供基于Eclipse整合開(kāi)發(fā)環(huán)境(IDE)的免費(fèi)、跨平臺(tái)(Windows、MacOSX、Linux)開(kāi)發(fā)工具(SDK),便于應(yīng)用程式開(kāi)發(fā)者學(xué)習(xí)、使用。免費(fèi)、熟悉的跨平臺(tái)開(kāi)發(fā)工具,讓具備一些物件導(dǎo)向觀念,或視窗程式開(kāi)發(fā)經(jīng)驗(yàn)的開(kāi)發(fā)者,能在一定時(shí)間內(nèi)上手。1000萬(wàn)美元的大獎(jiǎng)賽則提供了足夠的誘因,讓第一支Android手機(jī)正式面市前,就擁有了各式各樣的應(yīng)用程式可供使用。從不同角度來(lái)說(shuō),Android代表著一個(gè)嶄新的開(kāi)放原始碼作業(yè)系統(tǒng)平臺(tái)、一個(gè)友善的免費(fèi)應(yīng)用程式開(kāi)發(fā)環(huán)境、一個(gè)與世界各地的程式開(kāi)發(fā)者,站在相同起跑點(diǎn)上的公平競(jìng)爭(zhēng)機(jī)會(huì)。而連連看作為一款經(jīng)典的益智小游戲,一直以來(lái)都被眾多的游戲愛(ài)好者喜歡,這個(gè)游戲,男女老少皆宜。游戲的吸引力主要在于,它在讓玩家打發(fā)時(shí)間的同時(shí),可以讓人實(shí)現(xiàn)在顯示生活中不能實(shí)現(xiàn)的理想,得到在現(xiàn)實(shí)中不能得到的東西。1.2國(guó)內(nèi)外研究現(xiàn)狀手機(jī)游戲(MobileGame或WirelessGame),是指消費(fèi)者利用隨身攜帶并具有無(wú)線(xiàn)網(wǎng)絡(luò)聯(lián)機(jī)功能的智能移動(dòng)終端設(shè)備,能隨時(shí)隨地來(lái)進(jìn)行的游戲。手機(jī)游戲最大的特點(diǎn)是其隨時(shí)隨地進(jìn)行游戲的便利性。這些年來(lái),手機(jī)游戲市場(chǎng)有了很大的發(fā)展,手機(jī)游戲已成為使用率最高的手機(jī)娛樂(lè)應(yīng)用,占到各種手機(jī)娛樂(lè)應(yīng)用比例的78.4%。在日本,手機(jī)游戲市場(chǎng)經(jīng)歷多年的穩(wěn)定增長(zhǎng),市場(chǎng)規(guī)模已經(jīng)超過(guò)了850億日元。在美國(guó),手機(jī)游戲作為美國(guó)手機(jī)用戶(hù)最喜歡的移動(dòng)應(yīng)用之一,在iPhone和Android等智能終端推出后發(fā)展迅速。而在中國(guó),根據(jù)易觀智庫(kù)產(chǎn)業(yè)數(shù)據(jù)庫(kù)最新發(fā)布的《2010年第4季度中國(guó)手機(jī)游戲市場(chǎng)季度監(jiān)測(cè)》數(shù)據(jù)顯示,我國(guó)2010年手機(jī)游戲市場(chǎng)規(guī)模已達(dá)到32.9億元,繼續(xù)保持了較快的發(fā)展。通過(guò)圖1-1,我們能看出近些年來(lái)我國(guó)手機(jī)游戲市場(chǎng)的發(fā)展。前輩告訴我你他媽就是個(gè)傻逼你說(shuō)我說(shuō)的對(duì)不對(duì)我就不說(shuō)什么了我去我就是貨系你家的任憑地方就卡的很瘋狂計(jì)劃我的死就快樂(lè)都開(kāi)始就發(fā)了空間的了空間發(fā)生的路口附近了思考的減肥了思考的減肥了思考的減肥了思考的減肥死定了咖啡機(jī)收到了看法九點(diǎn)十分款到即發(fā)了開(kāi)機(jī)速度快了飛機(jī)啊死定了咖啡機(jī)死定了會(huì)計(jì)法撒了貸款糾紛了空間死定了會(huì)計(jì)法來(lái)刷卡的減肥拉斯款到即發(fā)哦第三方思?xì)W吉恩么了會(huì)計(jì)師費(fèi)困窘繼承,偶記死定了房間卡洛斯那臭小子跑男歐神諾東風(fēng)破么v破舊買(mǎi)票死PDF呢跑男你水電費(fèi)跑男破i三等獎(jiǎng)飛利浦佳木斯的快樂(lè)方購(gòu)買(mǎi)奶粉了貸款和管家婆IP就愛(ài)上破舊破接收到富婆就阿斯頓騙人頻頻【【市領(lǐng)導(dǎo)開(kāi)房灑了可電腦撒旦肥婆為毛老公騙人碼頭ID覆蓋騙人末公司發(fā)給弄死騙人嗎挺涼快哪擊破大哥平凡購(gòu)買(mǎi)日國(guó)內(nèi)的搜房剛頻【馬上打哦減肥的股發(fā)生的管家婆如夢(mèng)哦in大佛寺更好看就那么說(shuō)地方了看過(guò)進(jìn)了第三方就gap搜救功夫片熱哦i技能sjdi桑德菲杰剛卡了人我餓燒鵝花費(fèi)比薩博的覅播撒吧手動(dòng)閥iOS把你哦被佛i吧誒不覅U幣我i阿爾U幣費(fèi)啥地方快樂(lè)金牛阿紅圣誕節(jié)快樂(lè)房?jī)?nèi)UNUN愛(ài)哦哦偶爾回復(fù)苦澀和念佛if額案犯能多送發(fā)哦度能付款金額你必發(fā)噶的少年宮空降兵黑色大半年覅U盾黑發(fā)少年的別付款吧誰(shuí)都愛(ài)很高黑色大麗花都護(hù)府卡機(jī)的廢話(huà)啊就是迪歐放呢進(jìn)四大佛家都覅就納斯里卡打飛機(jī)破哦in空間不能打發(fā)黑色大發(fā)了呢看見(jiàn)光波i滄桑就hi噢誒好瘋狂就隨便你發(fā)了空間不破位了看見(jiàn)了阿斯頓佛羅就少打了覅就理解哦地方就餓了卡農(nóng)is大姐夫了看見(jiàn)你手動(dòng)哦is阿樂(lè)山大佛老卡大力神進(jìn)阿飛了你看了較好的經(jīng)費(fèi)公開(kāi)了見(jiàn)撒旦就發(fā)生的了空間費(fèi)拉斯款到即發(fā)來(lái)看什么地方了尖沙咀的浪費(fèi)SD卡o三等獎(jiǎng)阿佛i交哦i進(jìn)四大佛i接收到覅就是就是打飛機(jī)拉克絲將豆腐老卡撒嬌的了空間累塊積蘇地方了看見(jiàn)送達(dá)了空間來(lái)了就圖1-1近幾年中國(guó)手機(jī)游戲市場(chǎng)規(guī)模的發(fā)展從上面的圖可以看出,中國(guó)手機(jī)游戲的市場(chǎng)規(guī)模在近幾年內(nèi)一直保持了較快的發(fā)展,而且這幾年的發(fā)展速度越來(lái)越快。預(yù)計(jì)到2012年,市場(chǎng)規(guī)模將達(dá)到65億元,同比將增長(zhǎng)66.7%。經(jīng)過(guò)多年的發(fā)展,第三代數(shù)字通信(3G)技術(shù)獲得了廣泛的接受,它為移動(dòng)終端用戶(hù)帶來(lái)了更快的數(shù)據(jù)傳輸速率。隨著3G網(wǎng)絡(luò)的使用,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終端,還將成為互聯(lián)網(wǎng)的終端。因此,移動(dòng)終端的應(yīng)用軟件和需要的服務(wù)將會(huì)有很大的發(fā)展空間。Google為此于2007年11月推出了一個(gè)專(zhuān)為移動(dòng)設(shè)備設(shè)計(jì)的軟件平臺(tái)——Android。Android是一套真正意義上的開(kāi)放性移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。Android最大特點(diǎn)在于它是一個(gè)開(kāi)放的體系架構(gòu),具有非常好的開(kāi)發(fā)和調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶(hù)體驗(yàn),Android里面具有非常豐富的圖形系統(tǒng),對(duì)多媒體的支持功能和非常強(qiáng)大的瀏覽器。Android平臺(tái)的開(kāi)放性等特點(diǎn)既能促進(jìn)技術(shù)(包括平臺(tái)自身)的創(chuàng)新,又有助于降低開(kāi)發(fā)成本,還可以使運(yùn)營(yíng)商能非常方便地制定特色化的產(chǎn)品,因此,它具有很大的市場(chǎng)發(fā)展?jié)摿?。Android作為一個(gè)強(qiáng)大的工具,為我們帶來(lái)了很多方便,特別是游戲方面,通過(guò)開(kāi)發(fā)人員或Android愛(ài)好者的努力,網(wǎng)上也出現(xiàn)了很多為人稱(chēng)道的經(jīng)典小游戲。游戲“連連看”是源有臺(tái)灣的桌面小游戲,自從流入大陸以來(lái)風(fēng)靡一時(shí),也吸引眾多程序員開(kāi)發(fā)出多種版本的“連連看”。這其中,“阿凡達(dá)連連看”以其精良的制作廣受好評(píng),并于2004年,取得了國(guó)家版權(quán)局的計(jì)算機(jī)軟件著作權(quán)登記證書(shū)。隨著Android應(yīng)用的流行,網(wǎng)上出現(xiàn)了多種版本的“連連看”。如“水晶連連看”、“果蔬連連看”等,流行的“水晶連連看”以華麗界面吸引了一大批玩家。通過(guò)對(duì)07至08年連連看小游戲行業(yè)市場(chǎng)熱點(diǎn),結(jié)合新浪、搜狐、雅虎、網(wǎng)易調(diào)查發(fā)布的數(shù)據(jù)分析發(fā)現(xiàn),2009年小游戲熱點(diǎn)集中在連連看小游戲領(lǐng)域,從2007年起風(fēng)投對(duì)小游戲行業(yè)的投資案例明顯減少,小游戲行業(yè)的投資目標(biāo)主要集中在從事連連看小游戲企業(yè)和研發(fā)企業(yè),小游戲行業(yè)在經(jīng)歷了高峰期后正趨于平靜。2008年,隨著社交網(wǎng)絡(luò)的普及和開(kāi)放平臺(tái)的興起,“連連看”被引入了社交網(wǎng)絡(luò)。“連連看”與個(gè)人空間相結(jié)合,被快速的傳播,成為一款熱門(mén)的社交游戲,其中以開(kāi)發(fā)者Jonevey在Manyou開(kāi)放平臺(tái)上推出的“寵物連連看”最為流行。1.3發(fā)展趨勢(shì)小游戲連連看發(fā)展現(xiàn)狀及未來(lái)趨勢(shì)的研究認(rèn)為,小游戲依然是一個(gè)能給小游戲市場(chǎng)創(chuàng)造巨大財(cái)富的行業(yè),因此急需尋求一個(gè)新的亮點(diǎn)。艾瑞咨詢(xún)分析認(rèn)為,選擇有很大發(fā)展空間、且投資金額要求不高的小游戲連連看成了投資者再次介入小游戲行業(yè)的首選,其優(yōu)勢(shì)主要體現(xiàn)在以下兩個(gè)方面:一方面:連連看小游戲產(chǎn)品定位合理外部有利因素促進(jìn)行業(yè)發(fā)展(1)小游戲用戶(hù)需求呈多樣化趨勢(shì)連連看小游戲填補(bǔ)空白據(jù)用戶(hù)調(diào)研數(shù)據(jù)顯示,有31.2%和用戶(hù)喜歡益智類(lèi)游戲,有25.8%的用戶(hù)喜歡策略類(lèi)游戲,使用這兩類(lèi)游戲作為核心的連連看小游戲最受歡迎,而連連看小游戲則是因?yàn)槠涮厥獾某尸F(xiàn)方式,從而爭(zhēng)取到熱衷于益智、策略游戲的玩家。(2)連連看小游戲用戶(hù)屬性的多元化奠定良好媒體價(jià)值基礎(chǔ)在全體連連看小游戲用戶(hù)的樣本中,大專(zhuān)及以上學(xué)歷者占總數(shù)的50.6%,在連連看小游戲用戶(hù)中這一比例達(dá)到了62.8%;收入方面,38.4%的小游戲的游戲用戶(hù)收入高于2000元,而僅23.5%的小游戲用戶(hù)達(dá)到這一收標(biāo)準(zhǔn)。艾瑞分析后認(rèn)為,從用戶(hù)的學(xué)歷、收入以及在游戲中的構(gòu)成比例來(lái)看,連連看小游戲用戶(hù)屬性更高端,相較普通游戲用戶(hù)其用戶(hù)的消費(fèi)潛力也更大,并且伴隨連連看小游戲用戶(hù)規(guī)模的快速增長(zhǎng),用戶(hù)規(guī)模+高端屬性將為連連看小游戲的媒體價(jià)值奠定良好的基礎(chǔ),而隨著連連看小游戲產(chǎn)業(yè)的成熟和發(fā)展,其媒體價(jià)值將逐步被釋放,未來(lái)也將有更大的開(kāi)發(fā)空間。二方面:連連看小游戲行業(yè)正處于迅猛發(fā)展期上升空間巨大根據(jù)《2007-2008年中國(guó)連連看小游戲游戲行業(yè)發(fā)展報(bào)告》顯示,2007年中國(guó)連連看小游戲市場(chǎng)規(guī)模為1億元,按正常發(fā)展速度到2008年達(dá)到2.5億,此后將保持30%以上的增長(zhǎng)率,在2009年達(dá)到4.1億元。2007年前連連看小游戲用戶(hù)雖然已經(jīng)達(dá)到了一定規(guī)模,但由于缺乏有效的贏利模式支持,整個(gè)行業(yè)始終處于停滯不前的狀態(tài)。艾瑞分析認(rèn)為突破了這個(gè)瓶頸后,連連看小游戲在未來(lái)2-3年將進(jìn)入迅猛增長(zhǎng)階段,在樂(lè)觀的情況下,3年中連連看游戲市場(chǎng)規(guī)模復(fù)合增長(zhǎng)率將達(dá)到70.5%,在2009年中國(guó)網(wǎng)頁(yè)游戲市場(chǎng)規(guī)模將達(dá)到4.4億元。艾瑞咨詢(xún):連連看小游戲成為了2009年中國(guó)新熱點(diǎn)。通過(guò)訪談與交流,目前業(yè)內(nèi)人士普遍看好連連看小游戲的發(fā)展前景,部分行業(yè)人士表示,與08年相比2009年小游戲用戶(hù)至少達(dá)到400%的增長(zhǎng),增長(zhǎng)的主要?jiǎng)恿?lái)源于用戶(hù)和運(yùn)營(yíng)商的雙重發(fā)展。由于做小游戲門(mén)檻較低,能吸引許多中小型團(tuán)隊(duì)加入研究和運(yùn)營(yíng)的行列,當(dāng)運(yùn)營(yíng)商與產(chǎn)品數(shù)量急劇增加時(shí),整個(gè)市場(chǎng)也將被充分調(diào)動(dòng)起來(lái),從而達(dá)到一個(gè)成倍增長(zhǎng)的形勢(shì)。連連看小游戲的最大的優(yōu)勢(shì)在于無(wú)需下載客戶(hù)端,這使得這類(lèi)游戲能更方便地被移植到其他移動(dòng)終端中,如手機(jī)、掌機(jī)。這給上網(wǎng)受限制的用戶(hù)提供了很大便利。此外艾瑞咨詢(xún)認(rèn)為一旦政府逐步實(shí)施在一線(xiàn)城市中建設(shè)廣域網(wǎng)的計(jì)劃,隨著該網(wǎng)絡(luò)的建成,連連看小游戲也將迎來(lái)新一輪的發(fā)展。綜上所述,連連看小游戲在今后的一到兩年間將成為風(fēng)投重點(diǎn)關(guān)注的對(duì)象,特別是一些中小型的研發(fā)企業(yè),急需資本市場(chǎng)介入以幫助自己速度擴(kuò)大市場(chǎng)占有率;另一方面資本市場(chǎng)也傾向于網(wǎng)頁(yè)游戲這種投資小、回報(bào)快的行業(yè)。因此,2009年中國(guó)的新熱點(diǎn)小游戲?qū)⑹沁B連看小游戲。1.4課題研究意義現(xiàn)在小游戲、網(wǎng)頁(yè)游戲越來(lái)越受網(wǎng)民歡迎,除了玩的方法簡(jiǎn)單外(不像其他游戲還需要注冊(cè)下載繁瑣過(guò)程),很多游戲不乏經(jīng)典。連連看游戲就是典型了!游戲“連連看”,只要將相同花色的兩張牌用三根以?xún)?nèi)的直線(xiàn)連在一起就可以消除,規(guī)則簡(jiǎn)單容易上手。游戲速度節(jié)奏快,畫(huà)面清晰可愛(ài),老少皆宜。不管你走到哪個(gè)游戲網(wǎng)站,連連看游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領(lǐng),是一款適合大眾的經(jīng)典網(wǎng)絡(luò)休閑小游戲。完成這次畢業(yè)設(shè)計(jì),不僅可以提高我對(duì)知識(shí)的綜合運(yùn)用能力,增加實(shí)現(xiàn)項(xiàng)目設(shè)計(jì)的經(jīng)驗(yàn),同時(shí)讓我深入地了解一個(gè)安卓游戲的基本制作過(guò)程以及各項(xiàng)功能的實(shí)現(xiàn),拓寬了自己的知識(shí)面。通過(guò)完成一個(gè)比較完善的安卓游戲,我對(duì)圖像編輯、程序設(shè)計(jì)等各方面的知識(shí)有了更深的理解,也為以后的工作和學(xué)習(xí)打下了很好的鋪墊。1.5論文結(jié)構(gòu)安排整篇論文共分為六章,其主要內(nèi)容安排如下:第1章緒論。介紹論文的選題背景,系統(tǒng)的基本功能的實(shí)現(xiàn)以及論文結(jié)構(gòu)的安排。包括課題的背景資料簡(jiǎn)介、國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì)、深入地介紹了課題研究的價(jià)值以及對(duì)未來(lái)的影響。為本系統(tǒng)的編寫(xiě)調(diào)試提供了強(qiáng)大的理論依據(jù)。第2章基礎(chǔ)知識(shí)和相關(guān)的開(kāi)發(fā)技術(shù)。這部分主要是介紹實(shí)現(xiàn)系統(tǒng)的技術(shù)支撐體系和系統(tǒng)的開(kāi)發(fā)方法,。包括:開(kāi)發(fā)模型,Android技術(shù)和Java技術(shù)等,并且詳細(xì)介紹了Android的基本知識(shí)、各種特點(diǎn)、Android平臺(tái)的優(yōu)勢(shì)和手機(jī)游戲開(kāi)發(fā)的市場(chǎng)價(jià)值以及Java開(kāi)發(fā)的詳細(xì)步驟和游戲使用的主要技術(shù)及問(wèn)題。。第3章系統(tǒng)可行性研究與需求分析。本章概要地闡述了本系統(tǒng)的體系結(jié)構(gòu),描述了各個(gè)功能模塊,并分析了系統(tǒng)功能與系統(tǒng)角色和流程分析,展示了本系統(tǒng)的流程圖,為下一章的系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)打下基礎(chǔ)。第4章系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。這部分主要介紹了本章通過(guò)對(duì)基于Android的連連看游戲的各個(gè)功能的實(shí)現(xiàn),描述了系統(tǒng)的設(shè)計(jì)理念、基本流程和風(fēng)格定位,展示了各個(gè)模塊的模型和界面圖,全面深刻的解析了該系統(tǒng)所具有的全部功能極其實(shí)現(xiàn)的方法。對(duì)每個(gè)界面的設(shè)計(jì)以及思路進(jìn)行了詳細(xì)的解釋第5章系統(tǒng)測(cè)試與性能分析。描述了軟件測(cè)試的基本方法、測(cè)試的總類(lèi)和測(cè)試的步驟,對(duì)游戲進(jìn)行了的系統(tǒng)測(cè)試和性能上的分析,達(dá)到了需求分析中的功能要求,實(shí)現(xiàn)了連連看游戲的設(shè)計(jì)。以上標(biāo)志著本次基于Android的連連看游戲的設(shè)計(jì)與實(shí)現(xiàn)工作成功的完成。第6章總結(jié)。對(duì)整篇論文加以總結(jié)與回顧以及對(duì)未來(lái)的展望。1.6本章小結(jié)第一章主要是對(duì)課題的總體介紹,包括課題的背景資料簡(jiǎn)介、國(guó)內(nèi)外一些研究的現(xiàn)狀成果和發(fā)展趨勢(shì)、還深入地介紹了課題研究的價(jià)值以及對(duì)未來(lái)的影響。為本系統(tǒng)的編寫(xiě)調(diào)試提供了強(qiáng)大的理論依據(jù)。第二章基礎(chǔ)知識(shí)與開(kāi)發(fā)技術(shù)2.1Android技術(shù)簡(jiǎn)介2.1.1Android基本知識(shí)Android是Google開(kāi)發(fā)的基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)。它包括操作系統(tǒng)、用戶(hù)界面和應(yīng)用程序——移動(dòng)電話(huà)工作所需的全部軟件,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專(zhuān)有權(quán)障礙。谷歌與開(kāi)放手機(jī)聯(lián)盟合作開(kāi)發(fā)了Android,這個(gè)聯(lián)盟由包括中國(guó)移動(dòng)、摩托羅拉、高通、宏達(dá)和T-Mobile在內(nèi)的30多家技術(shù)和無(wú)線(xiàn)應(yīng)用的領(lǐng)軍企業(yè)組成。游戲規(guī)則是需選擇一對(duì)相同的牌連線(xiàn),但此連線(xiàn)是在避開(kāi)其他牌子后,呈現(xiàn)的路徑以不超過(guò)二轉(zhuǎn)彎為主,如符合規(guī)定則消除此一對(duì)牌而得分。Android應(yīng)用快速入門(mén)每一局里玩家需要在規(guī)定的時(shí)間內(nèi)消除所有的牌子,當(dāng)完成任務(wù)后,方能進(jìn)行下一關(guān),當(dāng)出現(xiàn)殘局時(shí),游戲會(huì)自動(dòng)重新洗牌。Android作為Google企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)“隨時(shí)隨地為每個(gè)人提供信息”這一企業(yè)目標(biāo)的實(shí)現(xiàn),Google的目標(biāo)是讓移動(dòng)通信不依賴(lài)于設(shè)備,甚至是平臺(tái)。Android一詞本意是指“機(jī)器人”,當(dāng)然現(xiàn)在大家都知道它是Google推出的開(kāi)源手機(jī)操作系統(tǒng)。Android基于Linux平臺(tái),由操作系統(tǒng)、中間件、用戶(hù)界面和應(yīng)用軟件組成,號(hào)稱(chēng)是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。它是由一個(gè)由30多家科技公司和手機(jī)公司組成的“開(kāi)放手機(jī)聯(lián)盟”共同研發(fā)的,這將大大降低新型手機(jī)設(shè)備的研發(fā)成本。完全整合的全移動(dòng)功能性產(chǎn)品成為“開(kāi)放手機(jī)聯(lián)盟”的最終目標(biāo)。Android軟件平臺(tái)主要由五部分構(gòu)成,它們分別是:關(guān)鍵應(yīng)用程序、應(yīng)用程序框架和組件、C/C++函數(shù)庫(kù)、Java程序運(yùn)行環(huán)境、優(yōu)化了的Linux內(nèi)核。關(guān)鍵應(yīng)用程序。Android平臺(tái)內(nèi)包含一些關(guān)鍵應(yīng)用程序,如郵件收發(fā)客戶(hù)端程序、短信收發(fā)程序、日歷、網(wǎng)頁(yè)瀏覽器等,而更多有特色的Android應(yīng)用程序還有待于廣大開(kāi)發(fā)者共同參與開(kāi)發(fā)。應(yīng)用程序框架及組件。Android應(yīng)用程序開(kāi)發(fā)基于框架和組件。Android本身已在其框架中提供了許多組件供應(yīng)用程序調(diào)用,開(kāi)發(fā)者也可在開(kāi)發(fā)應(yīng)用程序時(shí)順帶開(kāi)發(fā)新的組件,并將該組件放入應(yīng)用程序框架中,以供自己和其它應(yīng)用程序調(diào)用。C/C++函數(shù)庫(kù)。Android應(yīng)用程序框架之下是一套C/C++函數(shù)庫(kù),它們服務(wù)于Android應(yīng)用程序組件,其功能通過(guò)組件間接提供給開(kāi)發(fā)者。這些函數(shù)庫(kù)包括:標(biāo)準(zhǔn)C函數(shù)庫(kù)、媒體功能庫(kù)、瀏覽器引擎、2D和3D圖形庫(kù)等。Java程序運(yùn)行環(huán)境。Android的Java程序運(yùn)行環(huán)境包含一組Java核心函數(shù)庫(kù)及Dalvik虛擬機(jī),它們有效地優(yōu)化了Java程序的運(yùn)行過(guò)程。Linux內(nèi)核。Android系統(tǒng)平臺(tái)基于優(yōu)化了的Linux內(nèi)核,它提供諸如內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動(dòng)等服務(wù),同時(shí)也是手機(jī)軟硬件的連接層。Android應(yīng)用程序以各種組件(API)為基礎(chǔ),API是Android軟件平臺(tái)的重要組成部分,也是開(kāi)發(fā)Android應(yīng)用的關(guān)鍵所在。Android在Linux核心的基礎(chǔ)上,提供了各種合用的函數(shù)庫(kù),和一個(gè)完整的應(yīng)用程式框架。并采用較符合商用限制的Apache版權(quán)。當(dāng)前活動(dòng)程序Activity:作為最常用的應(yīng)用程序組件,幾乎所有Activity都會(huì)通過(guò)創(chuàng)建UI窗口與用戶(hù)進(jìn)行交流。Activity具有生命周期,它包含運(yùn)行、暫停、停止等幾個(gè)狀態(tài),狀態(tài)間的轉(zhuǎn)換可通過(guò)調(diào)用onCreate()、onStart()、onRestart()、onResume()、onFreeze()、onPause()、onStop()、onDestory()等方法來(lái)實(shí)現(xiàn)。要開(kāi)啟新的activity,可以調(diào)用startActivity(Intent),或調(diào)用startSubActivity(Intent,int),后者通常和onActivityResult(int,int,String,Bundle)聯(lián)合使用,以從一個(gè)activity獲取某結(jié)果并返回給打開(kāi)它的activity。圖像顯示View:View是最基本的UI構(gòu)件,它在屏幕中占據(jù)一個(gè)矩形區(qū)域可用來(lái)顯示文本、圖像等內(nèi)容,還可完成圖像事件處理。常用的View方法有:inflate()(由XML文件生成View)、onDraw(Canvas)(對(duì)View進(jìn)行填充)、onMeasure(int,int)(測(cè)量View的高度和寬度)、onLayout()(完成View的布局)、onKeyDown(int,KeyEvent)(View中有按鍵操作時(shí)被調(diào)用)、onFocusChanged(boolean,int)(當(dāng)View得到或失去關(guān)注時(shí)被調(diào)用)、setOnClilckListener()(設(shè)置View點(diǎn)擊事件監(jiān)聽(tīng)器)。View也包含一些子類(lèi),如:TextView(布局文件中的文本顯示)、EditText(布局文件中的文本編輯)、Button(按鈕)、ListView(顯示列表)。事件Intent:Intent抽象描述了想要執(zhí)行的某種操作,它與startActivity一起使用可以開(kāi)啟新的activity,與startService一起使用可以開(kāi)啟后臺(tái)服務(wù)。Intent最重要的作用還是加載activity,它是不同activity間的橋梁。Intent也可以被認(rèn)為是一種概括操作行為的數(shù)據(jù)結(jié)構(gòu),它主要包括action(動(dòng)作)和data(數(shù)據(jù))兩部分,此外它還具有一些附加屬性如category(intent種類(lèi))、type(數(shù)據(jù)類(lèi)型)等。常用的Intent方法有intent()(構(gòu)造intent)、addcategory()(添加intent類(lèi)型)、getAction()(獲取intent動(dòng)作)、getData()(獲取intent數(shù)據(jù))等。數(shù)據(jù)存取與共享機(jī)制ContentProvider:ContentProvider為應(yīng)用程序提供一些訪問(wèn)方法,包括:Query(Uri,String[],String,String[],String,String,String)(數(shù)據(jù)信息的查詢(xún)),insert(Uri,Contentvalues)(在Contentprovider中添加新數(shù)據(jù)),update(Uri,Contentvalues,String,String[])(更新Contentprovide中的數(shù)據(jù)),delete(Uri,String,String[])(刪除數(shù)據(jù)),Gettype(Uri)(獲取數(shù)據(jù)類(lèi)型)。其中,Uri標(biāo)明了ContentProvider存儲(chǔ)的數(shù)據(jù)類(lèi)型,在執(zhí)行訪問(wèn)方法時(shí)都需依據(jù)Uri作為路徑標(biāo)識(shí)來(lái)確定要訪問(wèn)哪個(gè)ContentProvider。后臺(tái)服務(wù)Service:Service是運(yùn)行在后臺(tái)的應(yīng)用程序組件,不直接與用戶(hù)交互。當(dāng)前活動(dòng)程序可以使用Context.StartService()開(kāi)啟一項(xiàng)后臺(tái)服務(wù),還可以通過(guò)Context.bindService()與后臺(tái)服務(wù)通信。2.1.2Android系統(tǒng)特點(diǎn)Android系統(tǒng)具有如下5個(gè)特點(diǎn):1.開(kāi)放性。Google與開(kāi)放手機(jī)聯(lián)盟合作開(kāi)發(fā)了Android,Google通過(guò)與運(yùn)營(yíng)商、設(shè)備制造商、開(kāi)發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望通過(guò)建立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)電話(huà)軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng)。2.應(yīng)用程序無(wú)界限。Android上的應(yīng)用程序可以通過(guò)標(biāo)準(zhǔn)API(ApplicationProgrammingInterface,應(yīng)用程序編程接口)訪問(wèn)核心移動(dòng)設(shè)備功能。通過(guò)互聯(lián)網(wǎng),應(yīng)用程序可以聲明它們的功能可供其他應(yīng)用程序使用。3.應(yīng)用程序是在平等的條件下創(chuàng)建的。移動(dòng)設(shè)備上的應(yīng)用程序可以被替換或擴(kuò)展,即使是撥號(hào)程序或主屏幕這樣的核心組件。4.應(yīng)用程序可以輕松地嵌入網(wǎng)絡(luò)。應(yīng)用程序可以輕松地嵌入HTML、JavaScript和樣式表,還可以通過(guò)WebView顯示網(wǎng)絡(luò)內(nèi)容。5.應(yīng)用程序可以并行運(yùn)行。Android是一種完整的多任務(wù)環(huán)境,應(yīng)用程序可以在其中并行運(yùn)行。在后臺(tái)運(yùn)行時(shí),應(yīng)用程序可以生成通知以引動(dòng)注意。每個(gè)Android應(yīng)用程序都存在于它自己的世界之中:默認(rèn)情況下,每個(gè)應(yīng)用程序均運(yùn)行于它自己的Linux進(jìn)程中。當(dāng)應(yīng)用程序中的任意代碼開(kāi)始執(zhí)行時(shí),Android啟動(dòng)一個(gè)進(jìn)程,而當(dāng)不再需要此進(jìn)程而其它應(yīng)用程序又需要系統(tǒng)資源時(shí),則關(guān)閉這個(gè)進(jìn)程。每個(gè)進(jìn)程都運(yùn)行于自己的Java虛擬機(jī)(VM)中。所以應(yīng)用程序代碼實(shí)際上與其它應(yīng)用程序的代碼是隔絕的。默認(rèn)情況下,每個(gè)應(yīng)用程序均被賦予一個(gè)唯一的Linux用戶(hù)ID,并加以權(quán)限設(shè)置,使得應(yīng)用程序的文件僅對(duì)這個(gè)用戶(hù)、這個(gè)應(yīng)用程序可見(jiàn)。當(dāng)然,也有其它的方法使得這些文件同樣能為別的應(yīng)用程序所訪問(wèn)。使兩個(gè)應(yīng)用程序共有同一個(gè)用戶(hù)ID是可行的,這種情況下他們可以看到彼此的文件。從系統(tǒng)資源維護(hù)的角度來(lái)看,擁有同一個(gè)ID的應(yīng)用程序也將在運(yùn)行時(shí)使用同一個(gè)Linux進(jìn)程,以及同一個(gè)虛擬機(jī)。2.1.3Android手機(jī)平臺(tái)的優(yōu)勢(shì)現(xiàn)在常見(jiàn)的智能手機(jī)平臺(tái)有:Symbian、WindowsMobile、PALM、Blackberry、iOS等。Android平臺(tái)的優(yōu)勢(shì)主要體現(xiàn)在以下方面:一方面:開(kāi)放性Android平臺(tái)是開(kāi)放性的平臺(tái),允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來(lái)。顯著的開(kāi)放性可以使其擁有更多的開(kāi)發(fā)者,隨著用戶(hù)和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。開(kāi)放性對(duì)于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對(duì)于消費(fèi)者來(lái)講,最大的受益正是豐富的軟件資源。開(kāi)放的平臺(tái)也會(huì)帶來(lái)更大競(jìng)爭(zhēng),如此一來(lái),消費(fèi)者將可以用更低的價(jià)位購(gòu)得心儀的手機(jī)。二方面:掙脫運(yùn)營(yíng)商的束縛在過(guò)去很長(zhǎng)的一段時(shí)間,手機(jī)應(yīng)用往往受到運(yùn)營(yíng)商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都要受到運(yùn)營(yíng)商的控制。自從Android上市,用戶(hù)可以更加方便地連接網(wǎng)絡(luò),運(yùn)營(yíng)商的制約減少。隨著EDGE、HSDPA這些2G至3G移動(dòng)網(wǎng)絡(luò)的逐步過(guò)渡和提升,手機(jī)隨意接入網(wǎng)絡(luò)已不再是運(yùn)營(yíng)商口中的笑談。三方面:豐富的硬件選擇這一點(diǎn)還是與Android平臺(tái)的開(kāi)放性相關(guān)。由于Android的開(kāi)放性,眾多的廠商會(huì)推出千奇百怪,功能特色各異的多種產(chǎn)品。功能上的差異和特色,卻不會(huì)影響到數(shù)據(jù)同步、甚至軟件的兼容。例如你從諾基亞Symbian風(fēng)格手機(jī)一下改用蘋(píng)果iPhone,同時(shí)還可Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等個(gè)人資料更是可以方便地轉(zhuǎn)移。四方面:開(kāi)發(fā)手機(jī)軟件不受任何限制Android平臺(tái)提供給第三方開(kāi)發(fā)商一個(gè)十分寬泛、自由的環(huán)境。因此不會(huì)受到各種條條框框的阻擾,可想而知,如此一來(lái)會(huì)有多少新穎別致的軟件誕生。五方面:無(wú)縫結(jié)合的Google應(yīng)用如今叱咤互聯(lián)網(wǎng)的Google已經(jīng)走過(guò)了10年度的歷史。從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google服務(wù)如地圖、郵件、搜索等已經(jīng)成為連接用戶(hù)和互聯(lián)網(wǎng)的重要紐帶,而Android平臺(tái)手機(jī)將無(wú)縫結(jié)合這些優(yōu)秀的Google服務(wù)。正因?yàn)锳ndroid具有以上的優(yōu)越性,所以2010年末數(shù)據(jù)顯示,僅正式推出兩年Android操作系統(tǒng)就將要超越稱(chēng)霸十年的諾基亞Symbian系統(tǒng),使之躍居全球最受歡迎的智能手機(jī)平臺(tái)。2.1.4Android手機(jī)游戲的市場(chǎng)價(jià)值隨著計(jì)算機(jī)技術(shù)和移動(dòng)通信技術(shù)的快速發(fā)展,手機(jī)用戶(hù)的數(shù)量越來(lái)越多,用戶(hù)在挑選手機(jī)設(shè)備的時(shí)候己經(jīng)不再拘泥于基本的通話(huà)功能。而新的技術(shù)從某種程度上提高了手機(jī)設(shè)備處理數(shù)據(jù)的能力,因而可以在手機(jī)上添加許多新的功能,以滿(mǎn)足用戶(hù)多樣性需求。為此已經(jīng)有越來(lái)越多的研發(fā)機(jī)構(gòu)或部門(mén)著手研究開(kāi)發(fā)手機(jī)應(yīng)用軟件。手機(jī)游戲作為手機(jī)上的應(yīng)用軟件類(lèi)型之一,更是深受廣大用戶(hù)的喜愛(ài)。由于手機(jī)硬件資源有限、屏幕小、游戲時(shí)間短等特點(diǎn),使得手機(jī)很適合運(yùn)行那些劇情簡(jiǎn)單、操作方便、有益于提高敏捷性和智力開(kāi)發(fā)的游戲。Android平臺(tái)上的游戲相比應(yīng)用軟件,不需要進(jìn)行嚴(yán)格的市場(chǎng)細(xì)分,不需要針對(duì)目標(biāo)用戶(hù)量身定制。這是因?yàn)橛螒蛲婕业暮诵男枨笫墙y(tǒng)一的,那就是:娛樂(lè)與打發(fā)時(shí)間(乃至更高層面的競(jìng)技需求和群體認(rèn)同需求),這種需求附著于特定的社會(huì)發(fā)展階段,不受地域的限制,甚至于能夠穿透文化壁壘。因此,絕大多數(shù)種類(lèi)的游戲都具備傳染性與普適性,每一個(gè)售出的游戲都將會(huì)點(diǎn)燃周?chē)鷿撛谕婕业募で?,最終吞噬整個(gè)需求市場(chǎng)。由此可知,幾乎每一個(gè)Android手機(jī)用戶(hù)都是游戲的需求者,都是潛在的顧客,現(xiàn)今的1000多萬(wàn)Android用戶(hù)不過(guò)是冰山一角,隨著Android手機(jī)市場(chǎng)進(jìn)一步壯大,游戲的市場(chǎng)容量將具備更大的增長(zhǎng)空間。綜上所述,Android平臺(tái)相比其他智能手機(jī)平臺(tái)有許多優(yōu)勢(shì),這些優(yōu)勢(shì)使Android發(fā)展迅速,而Android游戲作為Android手機(jī)最主要的應(yīng)用,其市場(chǎng)價(jià)值有目共睹。鑒于現(xiàn)階段Android游戲研究開(kāi)發(fā)的人數(shù)較少,游戲產(chǎn)品數(shù)量也較小的現(xiàn)狀,對(duì)Android游戲的研究具有很大的意義,不僅僅需要研究Android游戲開(kāi)發(fā)中的圖形圖像、人工智能等關(guān)鍵技術(shù),更重要的是研究Android游戲的開(kāi)發(fā)框架,以及Android游戲開(kāi)發(fā)不同于別的平臺(tái)游戲開(kāi)發(fā)的相關(guān)技術(shù)實(shí)現(xiàn)等內(nèi)容。受益于近年來(lái)移動(dòng)通信市場(chǎng)的持續(xù)快速增長(zhǎng),我國(guó)手機(jī)產(chǎn)業(yè)高速發(fā)展,成為新的國(guó)民經(jīng)濟(jì)增長(zhǎng)點(diǎn),帶動(dòng)了一系列相關(guān)產(chǎn)業(yè)的發(fā)展。隨著網(wǎng)絡(luò)、通信和信息技術(shù)的突破性進(jìn)展,Android手機(jī)在全球爆炸性的增長(zhǎng)并且迅速打入中國(guó)市場(chǎng)。在這一前提下,手機(jī)終端游戲的開(kāi)發(fā)成了熱門(mén)行業(yè)。Java作為一種新的編程語(yǔ)言,以其簡(jiǎn)單性、可移植性和平臺(tái)無(wú)關(guān)性等優(yōu)點(diǎn),得到了廣泛地應(yīng)用,特別是Java與萬(wàn)維網(wǎng)的完美結(jié)合,使其成為網(wǎng)絡(luò)編程和嵌入式編程領(lǐng)域的首選編程語(yǔ)言。連連看游戲是一個(gè)經(jīng)典的游戲,它因操作簡(jiǎn)單、娛樂(lè)性強(qiáng)而廣受歡迎。游戲產(chǎn)業(yè)作為現(xiàn)代電腦電子技術(shù)的產(chǎn)物,正在以其獨(dú)特的魅力在全世界的娛樂(lè)領(lǐng)域占據(jù)主流位置,我們?cè)诔姓J(rèn)廣大娛樂(lè)網(wǎng)民的選擇空間狹小的同時(shí),也必須明確的一點(diǎn)就是游戲本身所具有的強(qiáng)大的吸引力。游戲“連連看”,只要將相同花色的兩張圖用三根以?xún)?nèi)的直線(xiàn)連在一起就可以消除,規(guī)則簡(jiǎn)單容易上手。游戲速度節(jié)奏快,畫(huà)面清晰可愛(ài)??偸桥旁谑芡婕易顨g迎游戲排名前5位的連連看,休閑、趣味,且不分男女老少、工薪白領(lǐng),在娛樂(lè)的同時(shí)還可以訓(xùn)練眼明手快及增強(qiáng)邏輯判斷能力。是一款適合大眾的經(jīng)典小游戲。游戲制作的目的是滿(mǎn)足了人們休閑的需要,在緊張工作之余休閑類(lèi)的小游戲能夠給人帶來(lái)最大程度的放松,也可以增進(jìn)人們之間的交流、溝通,通過(guò)游戲還可以認(rèn)識(shí)更多的朋友。Android系統(tǒng)手機(jī)在中國(guó)已經(jīng)火熱流行開(kāi)來(lái),設(shè)計(jì)本課題通過(guò)查閱相關(guān)資料可以促進(jìn)自己了解更多Android手機(jī)前沿信息,理清軟件開(kāi)發(fā)流程,進(jìn)一步加固對(duì)Java知識(shí)的運(yùn)用。對(duì)以后致力于Android應(yīng)用程序開(kāi)發(fā)奠定基礎(chǔ)。Android平臺(tái)上的游戲相比應(yīng)用軟件,不需要進(jìn)行嚴(yán)格的市場(chǎng)細(xì)分,不需要針對(duì)目標(biāo)用戶(hù)量身定制。連連看游戲是一個(gè)經(jīng)典的游戲,它因操作簡(jiǎn)單、娛樂(lè)性強(qiáng)而廣受歡迎。本程序?qū)⑺哪陙?lái)所學(xué)的專(zhuān)業(yè)知識(shí)和其他方面的知識(shí)融入到實(shí)際應(yīng)用中。通過(guò)此次課題的設(shè)計(jì),掌握如何制作一個(gè)游戲軟件,以及制作游戲軟件的整個(gè)流程,制作游戲軟件的步驟,為以后的就業(yè)工作打下基礎(chǔ)。2.2Java技術(shù)簡(jiǎn)介Android以Java作為開(kāi)發(fā)語(yǔ)言,JDK是進(jìn)行Java開(kāi)發(fā)時(shí)必需的開(kāi)發(fā)包。進(jìn)行開(kāi)發(fā)前先要建立合適的開(kāi)發(fā)環(huán)境,其中基于Java的整合型可擴(kuò)展平臺(tái)Eclipse是我們的首選。Eclipse是一款非常優(yōu)秀的開(kāi)源IDE,Google官方也提供了基于Eclipse的Android開(kāi)發(fā)插件ADT,Android平臺(tái)為開(kāi)發(fā)者提供了源碼開(kāi)放的軟件開(kāi)發(fā)包(SDK),它包含了使用Java語(yǔ)言開(kāi)發(fā)Android平臺(tái)應(yīng)用的必要工具和組件(API)。在大量插件的配合下,完全可以滿(mǎn)足從企業(yè)級(jí)Java應(yīng)用到手機(jī)終端Java游戲的開(kāi)發(fā)。Java語(yǔ)言的學(xué)習(xí)熱潮并沒(méi)有因?yàn)闀r(shí)間的推移而消退,相反,由于計(jì)算機(jī)技術(shù)的發(fā)展所帶來(lái)的新應(yīng)用的出現(xiàn),Java越來(lái)越流行,這種情況是以往程序設(shè)計(jì)語(yǔ)言在其生存周期內(nèi)所不多見(jiàn)的。Java語(yǔ)言之所以這樣長(zhǎng)盛不衰,一是因?yàn)槠浔姸嗟募夹g(shù)特點(diǎn)與現(xiàn)今的應(yīng)用十分合拍,可以覆蓋大部分的需求;二是因?yàn)镾UN公司不斷推出新的版本,完善Java自身的功能。有了這兩點(diǎn),Java語(yǔ)言成為程序員首選的程序設(shè)計(jì)開(kāi)發(fā)工具就在情理之中了。Java技術(shù)是一門(mén)編程語(yǔ)言,也是一個(gè)平臺(tái),它基于Java虛擬機(jī)技術(shù),借助這個(gè)東西建立了跨平臺(tái)的優(yōu)勢(shì)。(題外話(huà):Java熱門(mén)的原因之一就是一個(gè)跨平臺(tái)的概念,和跨平臺(tái)類(lèi)似跨瀏覽器的好處也是如此,這也是現(xiàn)在AJAX技術(shù)流行的原因之一。另外現(xiàn)在熱炒的RIA富客戶(hù)端的概念下的技術(shù)除了AJAX外還有Adobe的Flash/Flex,微軟的SilverLight,SUN的JavaFX等,個(gè)人更看好Flash/Flex,原因是Flash插件在瀏覽器端占用率很高)。Java技術(shù)的重要性就不講了,從最近流行的一個(gè)統(tǒng)計(jì)數(shù)據(jù)上來(lái)說(shuō),目前世界上編程語(yǔ)言Java、C、VB、C++依次排名前4位,這排名本身不說(shuō)明什么,至少也是工業(yè)界對(duì)編程語(yǔ)言使用上一個(gè)側(cè)面的反映吧。Java編程語(yǔ)言與眾不同之處在于:Java程序既是編譯型的(轉(zhuǎn)換為一種稱(chēng)為Java字節(jié)碼的中間語(yǔ)言),又是解釋型的(JVM對(duì)字節(jié)碼進(jìn)行解析和運(yùn)行)。編譯只進(jìn)行一次,而解釋在每次運(yùn)行程序時(shí)都會(huì)進(jìn)行。編譯后的字節(jié)碼采用一種針對(duì)JVM優(yōu)化過(guò)的機(jī)器碼形式;解釋器是JVM的實(shí)現(xiàn)。這段是摘自網(wǎng)上的,編譯原理學(xué)的不是很好,對(duì)這門(mén)語(yǔ)言的背后運(yùn)行機(jī)制理解到這樣了。Java平臺(tái)是一種純軟件平臺(tái),它有三個(gè)版本JavaSE、JavaEE、JavaME。JavaSE(JavaPlatform,StandardEdition)這個(gè)版本以前叫做J2SE,后來(lái)版本號(hào)從1.4直接跳到5.0,其實(shí)也就是1.5,所以就叫成JavaSE5.0。目前Java開(kāi)發(fā)人員使用較多的版本是5.0,當(dāng)然還有JavaSE6.0這個(gè)更新的版本。它允許開(kāi)發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的Java應(yīng)用程序。JavaSE還包含了支持JavaWeb服務(wù)開(kāi)發(fā)的類(lèi),并為JavaEE這個(gè)版本提供基礎(chǔ)。雖說(shuō)桌面應(yīng)用程序,Java一直不被看好,但也稍微提一下,負(fù)責(zé)桌面GUI開(kāi)發(fā)的類(lèi)庫(kù)我知道的有:JDK自帶的主要是AWT/SWING這個(gè)Java原生類(lèi)庫(kù);也可以使用IBM的SWT/JFace這個(gè)第三方類(lèi)庫(kù)。開(kāi)發(fā)工具我了解的有:NetBeans(最近已經(jīng)是6.0final版了,做GUI有使用VB的感覺(jué)),Eclipse(SWT/JFace這個(gè)項(xiàng)目其實(shí)就是做Eclipse項(xiàng)目時(shí)擴(kuò)展出來(lái)的,所以對(duì)SWT/JFace支持的也不錯(cuò))。JavaEE(JavaPlatform,EnterpriseEdition)這個(gè)版本以前叫做J2EE,也就是大家可能聽(tīng)得比較多的,也是Java比較流行的領(lǐng)域,Java的企業(yè)級(jí)版本。JavaEE下有很多流行的開(kāi)發(fā)框架,像Struts、Spring、Hibernate這種流行的所謂SSH組合等。根據(jù)項(xiàng)目大小、應(yīng)用領(lǐng)域,技術(shù)平臺(tái)的選擇面還是很多的,除了JavaEE,還有.Net,LAMP組合(Linux、Apatch、MySql、PHP組合),相對(duì)來(lái)說(shuō)比較新Ruby在RubyonRails的框架應(yīng)用,后兩者可能在相對(duì)來(lái)說(shuō)比較輕量級(jí)的Web領(lǐng)域運(yùn)用成功案例比較多,更重量的企業(yè)級(jí)潛力還有待挖掘。JavaME(JavaPlatform,MicroEdition)這個(gè)版本以前叫做J2ME。應(yīng)用領(lǐng)域像各種移動(dòng)設(shè)備和嵌入式設(shè)備,比如:手機(jī)、PDA、電視機(jī)頂盒和打印機(jī)。Java開(kāi)發(fā)工具很多,個(gè)人使用的IDE有Eclipse和NetBeans。Eclispe比較流行,各種插件也多,當(dāng)然用起來(lái)也不錯(cuò);NetBeans現(xiàn)在也是越做越好了,介紹這兩個(gè)IDE主要是開(kāi)源的,當(dāng)然還有其它工具如JBuilder、IntelliJ、JCreator。這些IDE各有優(yōu)勢(shì)劣勢(shì),根據(jù)你開(kāi)發(fā)的項(xiàng)目來(lái)選擇了。2.3游戲使用技術(shù)2.3.1主要技術(shù)問(wèn)題問(wèn)題一:游戲程序是一項(xiàng)精度要求很高的程序系統(tǒng),因?yàn)槠浯a利用率很高。一個(gè)實(shí)時(shí)運(yùn)行的最終作品,每秒都會(huì)運(yùn)行成千上萬(wàn)行程序,繪圖事件、鍵盤(pán)事件都會(huì)以極高的頻率在后臺(tái)等待響應(yīng)。因此,其邏輯設(shè)計(jì)應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的事件及意外情況考慮在設(shè)計(jì)中。問(wèn)題二:游戲中為了美觀,適用性強(qiáng),不能全部通過(guò)簡(jiǎn)單的制作,到達(dá)游戲畫(huà)面的要求。問(wèn)題三:為了增加界面和道具的美觀,游戲界面中添加了背景顏色、相關(guān)建筑物以及圖片消除動(dòng)畫(huà)效果。問(wèn)題四:游戲的地圖不可能通過(guò)繪圖來(lái)解決。否則,不僅難于控制和處理過(guò)多的元素,也會(huì)因過(guò)多的大型圖片而不能限制程序的大小。否則就失去Android游戲較小的特點(diǎn)。問(wèn)題五:游戲的結(jié)束、開(kāi)始、動(dòng)態(tài)信息畫(huà)面作為構(gòu)成一個(gè)程序都是必不可少的重要部分。良好的用戶(hù)界面更是吸引用戶(hù)的硬指標(biāo),相關(guān)的美術(shù)構(gòu)圖和人性化設(shè)置也需要有一定的考慮。2.4本章小結(jié)本章介紹了本系統(tǒng)的開(kāi)發(fā)環(huán)境,系統(tǒng)的開(kāi)發(fā)方法,并且詳細(xì)介紹了Android的基本知識(shí)、各種特點(diǎn)、Android平臺(tái)的優(yōu)勢(shì)和手機(jī)游戲開(kāi)發(fā)的市場(chǎng)價(jià)值以及Java技術(shù)簡(jiǎn)介、開(kāi)發(fā)的詳細(xì)步驟和游戲使用的主要技術(shù)及問(wèn)題。第三章系統(tǒng)分析與設(shè)計(jì)3.1可行性分析3.1.1操作可行性游戲的操作可行性其實(shí)是一個(gè)游戲成功與否的關(guān)鍵,在很多著名游戲中游戲操作合理性經(jīng)常成為玩家討論的焦點(diǎn),所以說(shuō)游戲設(shè)計(jì)的合理性既是需要考慮的關(guān)鍵也是對(duì)玩家選擇此游戲的主要吸引力。游戲時(shí)間不能過(guò)長(zhǎng)也不能過(guò)短,在經(jīng)過(guò)反復(fù)思考和老師的指導(dǎo)后,決定將時(shí)間做成每一關(guān)都是300秒。這一決定保證了游戲的正常完成,同時(shí)也是考慮到了制作時(shí)間的限制。在“連連看游戲”設(shè)計(jì)中,在游戲中玩家可以中途暫停游戲,等想玩的時(shí)候在繼續(xù)游戲,不用每次玩游戲都從第一關(guān)開(kāi)始。游戲進(jìn)入第二關(guān)后,游戲復(fù)雜性和難度都將提升,圖片消除后剩余圖片將會(huì)自動(dòng)往旁邊靠齊。在這樣的設(shè)計(jì)下,玩家可以感受到游戲的可玩性,同時(shí)也可以享受到完成游戲的成就感。3.1.2技術(shù)可行性Android以Java作為開(kāi)發(fā)語(yǔ)言,JDK是進(jìn)行Java開(kāi)發(fā)時(shí)必需的開(kāi)發(fā)包。進(jìn)行開(kāi)發(fā)前先要建立合適的開(kāi)發(fā)環(huán)境,其中基于Java的整合型可擴(kuò)展平臺(tái)Eclipse是我們的首選。Eclipse是一款非常優(yōu)秀的開(kāi)源IDE,Google官方也提供了基于Eclipse的Android開(kāi)發(fā)插件ADT,Android平臺(tái)為開(kāi)發(fā)者提供了源碼開(kāi)放的軟件開(kāi)發(fā)包(SDK),它包含了使用Java語(yǔ)言開(kāi)發(fā)Android平臺(tái)應(yīng)用的必要工具和組件(API)。在大量插件的配合下,完全可以滿(mǎn)足從企業(yè)級(jí)Java應(yīng)用到手機(jī)終端Java游戲的開(kāi)發(fā)。Eclipse是一款很好的動(dòng)畫(huà)游戲制作軟件。它完全符合面向?qū)ο缶幊痰囊?,大大的提升了程序編?xiě)的能力。而且在Eclipse軟件中,它自帶了一些常用的組件。這為我們對(duì)這各組件開(kāi)發(fā)提供了很大的幫助。因此在技術(shù)上是可行的。3.1.3經(jīng)濟(jì)可行性開(kāi)發(fā)該系統(tǒng)所需的相關(guān)資料可以通過(guò)已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得。因此,開(kāi)發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來(lái)看,該系統(tǒng)可行。3.1.4社會(huì)可行性本游戲豐富的道具和公共模式的加入,增強(qiáng)游戲的競(jìng)爭(zhēng)性。多樣式的地圖,使玩家在各個(gè)游戲水平都可以尋找到挑戰(zhàn)的目標(biāo),長(zhǎng)期地保持游戲的新鮮感。Android游戲的大量玩家是年輕人,而現(xiàn)在年輕人的巨大的消費(fèi)潛力使得本游戲開(kāi)發(fā)具有社會(huì)可行性。3.2功能需求分析業(yè)務(wù)邏輯模塊主要是對(duì)數(shù)據(jù)進(jìn)行邏輯處理。主要可分為三大模塊即歡迎模塊、游戲模塊、圖形模塊。(1)主界面模塊打開(kāi)軟件后就是主界面,包含了“開(kāi)始游戲”、“關(guān)于作者”、“關(guān)于游戲”和“退出游戲”四大模塊。(2)游戲模塊玩家點(diǎn)擊“開(kāi)始游戲”后,進(jìn)入游戲界面。用戶(hù)點(diǎn)擊開(kāi)始游戲后,系統(tǒng)開(kāi)始倒計(jì)時(shí),屏幕最上行有倒計(jì)時(shí)的時(shí)間進(jìn)度條,一關(guān)時(shí)間為300s,第一關(guān)方塊固定不動(dòng),第二關(guān)開(kāi)始模塊消掉后,剩余模塊會(huì)自動(dòng)往旁邊靠,從而增加游戲的難度。如果玩家在規(guī)定的時(shí)間內(nèi)將所有的圖形消掉,系統(tǒng)提示玩家:恭喜你過(guò)關(guān),并進(jìn)入下一關(guān)。在系統(tǒng)所給的時(shí)間內(nèi)沒(méi)有消掉所有圖形則提示:再接再厲!如果游戲出現(xiàn)了死鎖的情況(也就是說(shuō)沒(méi)有圖形可以相消的情況),系統(tǒng)會(huì)自動(dòng)“重排”,如果重列用完了之后還出玩死鎖情況,系統(tǒng)便自動(dòng)再次重新排列,直到不出現(xiàn)死鎖。(3)圖形模塊圖形模塊是用來(lái)管理圖形的。包括圖形的圖片,圖形的隨機(jī)排列,圖形的顯示和消除等。游戲暫停與重新開(kāi)始游戲暫停后可以選擇繼續(xù)游戲,從而繼續(xù)沒(méi)有完成的那關(guān),如果選擇重新開(kāi)始則從第一關(guān)開(kāi)始。3.3系統(tǒng)基本流程本游戲是一款基于Android的手機(jī)連連看游戲,玩家進(jìn)入游戲后,進(jìn)入主界面,顯示開(kāi)始游戲、游戲簡(jiǎn)介、關(guān)于作者和退出游戲。當(dāng)玩家點(diǎn)擊“開(kāi)始游戲”后,玩家在規(guī)定時(shí)間內(nèi)消去全部圖片,即可進(jìn)入下一關(guān),如果沒(méi)有在規(guī)定時(shí)間內(nèi)消去全部圖片,則失敗。當(dāng)玩家點(diǎn)擊“暫?!焙螅瑢⑦M(jìn)入系統(tǒng)主界面,當(dāng)玩家點(diǎn)擊“關(guān)于游戲”后,可以看到游戲的作者介紹,還可以看到游戲的幫助文檔,向玩家介紹本游戲的使用方法。當(dāng)玩家點(diǎn)擊主界面的“退出游戲”,即退出連連看游戲程序。3.3.1系統(tǒng)流程圖系統(tǒng)流程圖,如圖3-1所示: 圖3-1系統(tǒng)流程圖3.3.2游戲詳細(xì)過(guò)程流程圖游戲詳細(xì)過(guò)程流程圖,如圖3-2所示:圖3-2游戲詳細(xì)過(guò)程流程圖3.4系統(tǒng)模塊設(shè)計(jì)1.系統(tǒng)總體設(shè)計(jì),總共分為四個(gè)模塊,分別是:“菜單設(shè)計(jì)”,“界面設(shè)計(jì)”,“算法設(shè)計(jì)”和“消息響應(yīng)設(shè)計(jì)”,如圖3-3所示:圖3-3系統(tǒng)總體設(shè)計(jì)2.系統(tǒng)詳細(xì)設(shè)計(jì):(1)界面設(shè)計(jì),總共分為三個(gè)模塊,分別是:“框架設(shè)計(jì)”,“地圖設(shè)計(jì)”和“進(jìn)度條設(shè)計(jì)”,如圖3-5所示:圖3-4界面設(shè)計(jì)(2)算法設(shè)計(jì),總共分為兩個(gè)個(gè)模塊,分別是:“畫(huà)線(xiàn)設(shè)計(jì)”和“消除算法設(shè)計(jì)”,如圖3-6所示:圖3-5算法設(shè)計(jì)(4)消息響應(yīng)設(shè)計(jì),總共分為三個(gè)模塊,分別是:“鼠標(biāo)響應(yīng)”,“時(shí)間響應(yīng)”和“繪圖響應(yīng)”,如圖3-7所示:圖3-7消息響應(yīng)設(shè)計(jì)3.5圖形連通算法設(shè)計(jì)每次用戶(hù)選擇兩個(gè)圖形,如果圖形滿(mǎn)足一定條件(兩個(gè)圖形一樣,且這兩個(gè)圖形之間存在轉(zhuǎn)彎少于3的路徑),則兩個(gè)圖形都能消掉。給定任意具有相同圖形的兩個(gè)格子,我們需要尋找這兩個(gè)格子之間在轉(zhuǎn)彎最少的情況下,經(jīng)過(guò)格子數(shù)目最少的路徑。如果這個(gè)最優(yōu)路徑的轉(zhuǎn)彎數(shù)目少于3,則這兩個(gè)格子可以消去。在檢驗(yàn)兩個(gè)方塊能否消掉的時(shí)候,我們要讓兩個(gè)方塊同時(shí)滿(mǎn)足兩個(gè)條件才行,就是兩者配對(duì)并且連線(xiàn)成功。分3種情況:從下面的這三種情況,我們可以知道,需要三個(gè)檢測(cè),這三個(gè)檢測(cè)分別檢測(cè)一條直路經(jīng)。這樣就會(huì)有三條路徑。若這三條路徑上都是空按鈕,那么就剛好是三種直線(xiàn)(兩個(gè)轉(zhuǎn)彎點(diǎn))把兩個(gè)按鈕連接起來(lái)了。1.相鄰。直接連接消除。2.若不相鄰的先在第一個(gè)按鈕的同行找一個(gè)空按鈕。(1)找到后看第二個(gè)按鈕橫向到這個(gè)空按鈕所在的列是否有按鈕;(2)沒(méi)有的話(huà)再看第一個(gè)按鈕到與它同行的那個(gè)空按鈕之間是否有按鈕;(3)沒(méi)有的話(huà),再?gòu)呐c第一個(gè)按鈕同行的那個(gè)空按鈕豎向到與第二個(gè)按鈕的同行看是否有按鈕。沒(méi)有的話(huà)路徑就通了,可以消了。3.若2失敗后,再在第一個(gè)按鈕的同列找一個(gè)空按鈕。(1)找到后看第二個(gè)按鈕豎向到這個(gè)空按鈕所在的行是否有按鈕;(2)沒(méi)有的話(huà),再看第一個(gè)按鈕到與它同列的那個(gè)空按鈕之間是否有按鈕;(3)沒(méi)有的話(huà),再?gòu)呐c第一個(gè)按鈕同列的那個(gè)空按鈕橫向到與第二個(gè)按鈕同列看是否有按鈕。沒(méi)有的話(huà)路徑就通了,可以消了。若以上三步都失敗,說(shuō)明這兩個(gè)按鈕不可以消去。3.6系統(tǒng)風(fēng)格定位Android建筑游戲的主題是建筑,鑒于這點(diǎn)我的設(shè)計(jì)風(fēng)格選擇了建筑,圖片基本上都是建筑相關(guān)的圖片。這樣設(shè)計(jì)首先是基于用戶(hù)群,第二在參考了很多網(wǎng)上的連連看游戲,多數(shù)是紙牌造型,所以這樣可以讓本游戲變得更有個(gè)性。同時(shí)也嘗試了很多其他的風(fēng)格,但最后還是覺(jué)得建筑風(fēng)格最適合本游戲。3.7本章小結(jié)本章概要地闡述了本系統(tǒng)的體系結(jié)構(gòu),描述了各個(gè)功能模塊,并分析了系統(tǒng)功能與系統(tǒng)角色和流程分析,為下一章的系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)打下基礎(chǔ)。第四章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)運(yùn)行界面圖安裝界面,如圖4-1所示:圖4-1安裝桌面界面主界面,如圖4-2所示:圖4-2主界面3.點(diǎn)擊一次“新游戲”,點(diǎn)擊“新游戲”,即將進(jìn)入游戲運(yùn)行界面,如圖4-3所示:圖4-3運(yùn)行界面圖4-4消除游戲成功后,即彈出成功對(duì)話(huà)框,如圖4-5所示:圖4-6成功選擇游戲難度,如圖4-6所示:圖4-7難度選擇4.2開(kāi)發(fā)環(huán)境的搭建1.下載Eclipse首先我們需要下載Android開(kāi)發(fā)時(shí)會(huì)用到的整合開(kāi)發(fā)環(huán)境Eclipse。目前Android應(yīng)用程式只支援使用Java來(lái)編寫(xiě)Android應(yīng)用程式。所以開(kāi)發(fā)前必須先安裝Java開(kāi)發(fā)套件(JavaDevelopmentKit,JDK)。各平臺(tái)的JDK可至/下載。安裝好JDK后,我們可以前往Eclipse網(wǎng)站下載Eclipse這個(gè)方便的整合開(kāi)發(fā)環(huán)境。下載Eclipse時(shí)選EclipseIDEforJavaDevelopers或EclipseIDEforJavaEEDevelopers這兩種版本,只有這兩種版本才會(huì)預(yù)裝EclipseJDT擴(kuò)充套件。下載完同樣先解壓縮到適當(dāng)目錄下。2.安裝EclipseEclipse不需要安裝,只要確認(rèn)你的系統(tǒng)上有安裝Java,即可直接開(kāi)啟Eclipse資料夾,點(diǎn)擊Eclipse開(kāi)始執(zhí)行Eclipse整合開(kāi)發(fā)環(huán)境。第一次啟動(dòng)Eclipse時(shí)會(huì)彈出視窗讓你決定預(yù)設(shè)的工作目錄。一般使用Eclipse預(yù)設(shè)的工作目錄即可。進(jìn)入到EclipseIDE后,安裝Android開(kāi)發(fā)工具擴(kuò)充套件。3.Eclipse安裝ADT擴(kuò)充套件下載完最新的ADT擴(kuò)充套件后,打開(kāi)Eclipse開(kāi)發(fā)環(huán)境。選擇Help->SoftwareUpdates選項(xiàng),這選項(xiàng)會(huì)帶出一個(gè)新視窗。選擇AvailableSoftware標(biāo)簽,選擇右方的AddSite...(新增網(wǎng)站)按鈕,會(huì)彈出一個(gè)輸入框。選擇右上角的Local...按鈕,并選取剛下載的Android最新開(kāi)發(fā)工具檔案,選到之后按下“OK”按鈕離開(kāi)。在視窗中全選新出現(xiàn)項(xiàng)目的所有選項(xiàng)后,按下右方的Install按鈕。4.下載AndroidSDK接著我們要從/p/Androidbmi/wiki/下載Android軟體開(kāi)發(fā)套件(SoftwareDevelopmentKit,SDK)。下載下來(lái)的SDK檔案需要先解壓縮。Windows平臺(tái)需要先另行安裝解壓縮程式,如免費(fèi)的7-zip解壓縮工具。將解壓縮后的AndroidSDK檔案夾命名為Android_sdk。在Eclipse打開(kāi)偏好設(shè)定頁(yè)面Preference,選擇Android標(biāo)簽,在SDKLocation欄位按下“Browse...”鍵,選擇剛剛解壓縮完的Android_sdk檔案夾所在地,然后按下視窗右下角的套用Apply按鈕。這樣AndroidSDK就設(shè)定完畢。4.3單項(xiàng)功能的實(shí)現(xiàn)4.3.1消除圖片動(dòng)畫(huà)實(shí)現(xiàn):當(dāng)圖片消除時(shí)會(huì)有動(dòng)畫(huà)的效果,其實(shí)現(xiàn)方式主要運(yùn)用Java里的animation方法。4.3.2剩余時(shí)間效果實(shí)現(xiàn)時(shí)間會(huì)每一秒自動(dòng)減一,其實(shí)現(xiàn)方式并不是簡(jiǎn)單的對(duì)控件賦值,因?yàn)橹苯硬僮骺丶?huì)使界面出現(xiàn)卡主現(xiàn)象,所以程序開(kāi)啟一個(gè)線(xiàn)程,每秒都更新一次控件的值。4.3.3進(jìn)度條效果實(shí)現(xiàn)主要用控件實(shí)現(xiàn),時(shí)間遞減的線(xiàn)程定時(shí)更新進(jìn)度條的值。4.3.4游戲初始化進(jìn)入游戲界面,首先需要顯示出來(lái)圖片矩陣,如果是第一關(guān),就把地圖設(shè)置成6行6列,如果是第二關(guān)和第二關(guān)以上,就把地圖設(shè)置成8*8的格式,其代碼如下: //列數(shù)countX,行數(shù)countY包括了邊界(故實(shí)際棋盤(pán)大小為8*8) privatestaticfinalintcountX=10; privatestaticfinalintcountY=10; //圖片大小設(shè)置 privatestaticfinalinticonSize=LlkGame.getScreenWidth()/(countX-1); privatestaticfinalinticonSizeH=LlkGame.getScreenHeight()/(countY+1); //引進(jìn)程序的Activity privateLlkGameapp; //自定義的視圖,用來(lái)呈現(xiàn)游戲界面 privateGameViewgameView; //用來(lái)保存程序布局的數(shù)組,之前在GameView中的map只是對(duì)這個(gè)數(shù)組的一個(gè)引用,控制器中將為之分配空間,生成初始化布局。 privateint[][]map; //保存連線(xiàn)的起始點(diǎn)和折點(diǎn) privateList<Point>path=newArrayList<Point>(); privatebooleanm_bAddTime=false; //刷新界面包含兩部分:1.實(shí)現(xiàn)連線(xiàn)消除動(dòng)畫(huà),對(duì)GameView進(jìn)行延時(shí)刷新;2.更新游戲剩余時(shí)間進(jìn)行頁(yè)面刷新 //2中需要用到一個(gè)Timer,而Timer會(huì)引起另起一個(gè)線(xiàn)程,而刷新界面需要在UI線(xiàn)程中執(zhí)行,所以程序需要用到Handler方法來(lái)刷新 //1,2我們通過(guò)對(duì)一個(gè)定義好的Handler發(fā)送不同的消息進(jìn)行不同的刷新操作 privateRefreshHandlerredrawHandler=newRefreshHandler();classRefreshHandlerextendsHandler{ publicstaticfinalintUPDATE_TXT=0; publicstaticfinalintUPDATE_IMAGE=1; //這個(gè)方法并不需要調(diào)用,是Handler內(nèi)接口的實(shí)現(xiàn)。是一個(gè)消息接收器,所以不能隨意命名 @Override publicvoidhandleMessage(Messagemsg){ switch(msg.what){ //更新文本框 caseUPDATE_TXT: TextViewt=(TextView)app.findViewById(R.id.timing); if(t!=null) { t.setText("剩余時(shí)間:"+remainTime+"秒幫助:"+help+"次"+"第"+level+"關(guān)"); gameView.drawProgress(remainTime,totalTime); if(remainTime<=0){ timer.cancel(); app.setState(LlkGame.STATE_LOSE); } } setOnclickListen(); break; //更新視圖 caseUPDATE_IMAGE: gameView.invalidate(); if(win()){ help+=2; level++; GameView.level=level; timer.cancel(); app.setState(LlkGame.STATE_WIN); }elseif(die()){ shuffle(); } break; } } //延時(shí)刷新視圖 publicvoidsleep(longdelayMillis){ this.removeMessages(0); Messagemsg=newMessage(); msg.what=UPDATE_IMAGE; sendMessageDelayed(msg,delayMillis); } };4.3.5判斷消除圖片消除圖片時(shí)要判斷是否可達(dá),即優(yōu)化判斷是否可以消除的算法是本程序的靈魂,連連看游戲分為三種消去方式,分別為“0折型”,“一折型”,“兩折型”,由圖4-5可以看出,如果兩點(diǎn)間只需要一條直線(xiàn)能夠連接起來(lái),則A、B兩點(diǎn)的橫坐標(biāo)或縱坐標(biāo)必定相同,有了這個(gè)條件,我們判斷A、B兩點(diǎn)是否只需要一條直接連接就簡(jiǎn)單了許多。其分析如下:1.“0折型”:水平消去或者垂直消去,如果兩個(gè)點(diǎn)擊的兩個(gè)圖片相同,并且它們?cè)谕凰交虼怪狈较蛏希捶祷豀_LINE的畫(huà)線(xiàn)類(lèi)型,代碼如下:privatebooleanhorizon(Pointa,Pointb){ if(a.equals(b))//如果點(diǎn)擊的是同一個(gè)地方,直接返回false returnfalse; intx_start=a.y<=b.y?a.y:b.y; intx_end=a.y<=b.y?b.y:a.y; for(intx=x_start+1;x<x_end;x++) //只要一個(gè)不是-1,直接返回false if(map[a.x][x]!=-1){ returnfalse; } }(2)效果圖如圖4-17所示:2.“一折型”,當(dāng)點(diǎn)擊的兩個(gè)點(diǎn)相同,它們不在同一水平或垂直方向上,并且它們要用兩條直線(xiàn)相連,就返回ONE_C_LINE,代碼如: //兩張圖片能夠直連,則 if(linkD(p1,p2)){ path.add(p1); path.add(p2); m_bAddTime=true; returntrue; } //一個(gè)折點(diǎn),考慮到兩種可能的情況,path中應(yīng)該有三個(gè)點(diǎn)。畫(huà)直線(xiàn)的時(shí)候是兩兩之間進(jìn)行的 Pointp=newPoint(p1.x,p2.y); if(map[p.x][p.y]==0){ if(linkD(p1,p)&&linkD(p,p2)){ path.add(p1); path.add(p); path.add(p2); m_bAddTime=true; returntrue; } } p=newPoint(p2.x,p1.y); if(map[p.x][p.y]==0){ if(linkD(p1,p)&&linkD(p,p2)){ path.add(p1); path.add(p); path.add(p2); m_bAddTime=true; returntrue; } }3.(1)“兩折型”,當(dāng)點(diǎn)擊的兩個(gè)點(diǎn)相同,它們不在同一水平或垂直方向上,并且它們要用三條直線(xiàn)相連,就返回TWO_C_LINE,代碼如下: expandH(p1,p1E); expandH(p2,p2E); //判斷是否可連接 for(Pointpt1:p1E){ for(Pointpt2:p2E){ if(pt1.x==pt2.x){ if(linkD(pt1,pt2)){ path.add(p1); path.add(pt1); path.add(pt2); path.add(p2); m_bAddTime=true; returntrue; } } } } //縱向搜索 expandV(p1,p1E); expandV(p2,p2E); //判斷是否可連接 for(Pointpt1:p1E){ for(Pointpt2:p2E){ if(pt1.y==pt2.y){ if(linkD(pt1,pt2)){ path.add(p1); path.add(pt1); path.add(pt2); path.add(p2); m_bAddTime=true; returntrue; } } } }4.3.6在兩圖片之間連線(xiàn)當(dāng)判斷兩個(gè)圖片之間有路徑可以相連,并且兩圖片之間可以用不超過(guò)三條直線(xiàn)的線(xiàn)把它們連接起來(lái),即返回三種連接類(lèi)型即V_LINE,ONE_C_LINE,TWO_C_LINE,代碼如下://判斷兩個(gè)棋子能否直接相連 privatebooleanlinkD(Pointp1,Pointp2){ if(p1.x==p2.x){ inty1=Math.min(p1.y,p2.y); inty2=Math.max(p1.y,p2.y); booleanflag=true; //以下for和if是兩個(gè)圖片在縱坐標(biāo)上中間部分全部沒(méi)有棋子,則返回true。只要中間位置有一個(gè)不為空,則說(shuō)明不能直連。故返回false for(inty=y1+1;y<y2;y++){ if(map[p1.x][y]!=0){ flag=false; break; } } if(flag){ returntrue; } } if(p1.y==p2.y){ intx1=Math.min(p1.x,p2.x); intx2=Math.max(p1.x,p2.x); booleanflag=true; for(intx=x1+1;x<x2;x++){ if(map[x][p1.y]!=0){//點(diǎn)p1和p2橫坐標(biāo)中間相隔的位置只要有一個(gè)不為空,則不能直連 flag
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公環(huán)境下的技術(shù)趨勢(shì)分析報(bào)告
- 生態(tài)修復(fù)技術(shù)在水域生態(tài)保護(hù)中的作用
- 2 認(rèn)識(shí)幾種常見(jiàn)的巖石(說(shuō)課稿)-2023-2024學(xué)年科學(xué)四年級(jí)下冊(cè)教科版
- 2024-2025學(xué)年高中化學(xué) 化學(xué)實(shí)驗(yàn)基本方法說(shuō)課稿 新人教版必修1
- Unit 1 Lesson 1 At the Airport(說(shuō)課稿)-2024-2025學(xué)年冀教版(三起)英語(yǔ)六年級(jí)上冊(cè)
- 2024-2025學(xué)年高中物理 第10章 熱力學(xué)定律 1 功和內(nèi)能說(shuō)課稿 新人教版選修3-3
- 2023八年級(jí)道德與法治上冊(cè) 第二單元 遵守社會(huì)規(guī)則 第五課 做守法的公民 第2框 預(yù)防犯罪說(shuō)課稿 新人教版
- Unit 2 Ways to school Part A Let's learn (說(shuō)課稿)-2024-2025學(xué)年人教PEP版英語(yǔ)六年級(jí)上冊(cè)001
- 10的再認(rèn)識(shí)(說(shuō)課稿)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2 時(shí)、分、秒(說(shuō)課稿)-2023-2024學(xué)年二年級(jí)下冊(cè)數(shù)學(xué)蘇教版
- 事業(yè)單位工作人員年度考核登記表(通用模板)
- 人教版七年級(jí)數(shù)學(xué)下冊(cè)《垂線(xiàn)》
- 駱駝祥子 故事情節(jié)
- 公開(kāi)選拔村級(jí)后備干部報(bào)名登記表
- 2022年湖南公務(wù)員考試《申論》真題套卷(鄉(xiāng)鎮(zhèn)卷)2
- 【薪酬】國(guó)有企業(yè)中長(zhǎng)期股權(quán)激勵(lì)課件
- 《新聞攝影教程(第五版)》第三章 新聞攝影工作者的職責(zé)與素養(yǎng)
- 學(xué)前兒童行為觀察第一章觀察概述課件
- 化學(xué)品防范說(shuō)明編碼
- 高溫超高壓煤氣發(fā)電工程技術(shù)方案
- 帕金森病(英文版)課件
評(píng)論
0/150
提交評(píng)論