版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
大連東軟信息學院本科畢業(yè)設計(論文)論文題目論文題目:基于Android的華容道游戲設計與實現(xiàn)系所:電子工程系專業(yè):電子信息工程(嵌入式系統(tǒng)工程方向)學生姓名:學生學號:指導教師:導師職稱:教授完成日期:2014年5月2日大連東軟信息學院DalianNeusoftUniversityofInformation大連東軟信息學院畢業(yè)設計(論文)摘要IV 基于Android的華容道游戲設計與實現(xiàn)摘要現(xiàn)今手機已經(jīng)成為人們生活的一部分,手機不僅僅是作為傳統(tǒng)意義上的通訊工具,而且隨著智能手機的不斷發(fā)展,現(xiàn)如今智能手機已經(jīng)可以滿足大多數(shù)人們的需要,大家可以通過手機玩網(wǎng)游,可以看視頻、購物、辦公等。手機相對于傳統(tǒng)的娛樂工具,比如電腦,電視,智能手機具有攜帶方便,價格便宜等特點。谷歌公司推出的Android平臺給移動終端的軟件開發(fā)帶來了劃時代的意義。近年來,Android平臺憑借其開源性、創(chuàng)新性,迅速被全球的移動開發(fā)商所喜愛。由于Android代碼開源性的特點,激發(fā)了人們基于Android平臺去開發(fā)各種新鮮好玩的應用程序,到現(xiàn)在Android應用程序已經(jīng)呈現(xiàn)出多樣性、創(chuàng)新性的特點。本設計就是基于Eclipse平臺和AVD模擬器,運用Java語言來開發(fā)的一款Android應用程序。論文大體上可以分為三個部分,第一部分包括對關鍵技術的介紹,例如詳細闡述了華容道游戲的算法設計,游戲背景音樂的實現(xiàn);第二部分介紹了Android應用程序的開發(fā)過程,如軟件系統(tǒng)需求分析,系統(tǒng)軟件設計,還有軟件系統(tǒng)的實現(xiàn);第三部分介紹的是系統(tǒng)測試,包括測試用例的設計和測試用例的執(zhí)行,得出最后的測試結論。本游戲除實現(xiàn)了傳統(tǒng)華容道游戲的基本功能外,還添加了幾項附加功能,比如游戲的背景音樂,視頻錄制等,以便更好地滿足用戶的需求。關鍵詞:Android,AVD,Java,華容道游戲大連東軟信息學院畢業(yè)設計(論文)AbstractDesignandImplementationofHuaRongDaoGameBaseonAndroidAbstractToday'smobilephonehasbecomepartofpeople'slife,notjustasthecommunicationtools,andwiththekeepingdevelopmentofsmartphones,nowsmartphonescanmeettheneedsofmostpeople,youcanplaygames,seevideo,shopping,andoffice,etc.Smartphonecomparedwithtraditionalentertainmenttool,suchascomputer,TV,smartphoneiseasiertocarry,andhasthelowprice.Google'sAndroidplatformhasbroughtthegreatsignificanceformobileterminalsoftwaredevelopment.Inrecentyears,theAndroidplatformwithitsopensource,innovative,isenjoyedbymobiledevelopersaroundtheworld.BecauseofthecharacteristicoftheAndroidcodeisopened,inspiredthepeopletodevelopallkindsoffunapplicationbasedontheAndroidplatform,untilnowtheAndroidsoftwarehaspresentadiversity,innovativefeatures.ThisdesignisbasedontheEclipseplatformandAVDsimulator,usingtheJavalanguagetodeveloptheAndroidapplication.Papergenerallycanbedividedintothreeparts,thefirstpartisusedtointroducekeytechnologies,suchasthedetailsaboutthegamedesign,andthegamebackgroundmusic;ThesecondpartintroducesthedevelopmentprocessoftheAndroidapplications,suchassoftwaresystemrequirementanalysis,systemsoftwaredesign,andtheanalysisofthesoftwaresystem;Thethirdpartisthesystemtest,includingtestcasedesignandexecutionoftestcases,finalpartistestconclusion.Inadditiontosomebasedfunctiononthegame,alsoaddedafewadditionalfunctions,suchasthebackgroundmusicofthegame,videorecordingandsoon,inordertobettermeettheneedsofusers.Keywords:Android,AVD,Java,HRDGame大連東軟信息學院畢業(yè)設計(論文)目錄目錄TOC\o"1-3"\u摘要 IAbstract II第1章緒論 11.1課題研究背景與意義 11.2國內(nèi)外移動互聯(lián)網(wǎng)發(fā)展現(xiàn)狀 11.3課題研究內(nèi)容與方法 21.4論文組織結構 3第2章關鍵技術介紹 42.1Java與面向對象技術 42.2核心算法 42.3AVD虛擬模擬器 5第3章系統(tǒng)需求分析 63.1系統(tǒng)設計目標 63.2系統(tǒng)功能需求 63.3系統(tǒng)非功能需求 63.4系統(tǒng)開發(fā)環(huán)境 63.5系統(tǒng)可行性分析 63.5.1技術可行性 73.5.2經(jīng)濟可行性 7第4章系統(tǒng)設計 84.1體系結構設計 84.2軟件設計 84.2.1UI界面設計 94.2.2功能模塊設計 134.3軟件系統(tǒng)的類設計 144.3.1實現(xiàn)多個界面互相切換 154.3.2PlayView類 154.3.3CtThread類 16第5章系統(tǒng)實現(xiàn) 175.1環(huán)境配置 175.2功能模塊實現(xiàn) 175.2.1游戲開始模塊 175.2.2游戲關卡模塊 185.2.3游戲選項模塊 205.2.4游戲說明模塊 215.2.5游戲退出模塊 215.3系統(tǒng)調試 22第6章系統(tǒng)測試 236.1測試概述 236.2測試用例 236.2.1測試案例一 236.2.2測試案例二 236.2.3測試案例三 236.2.4測試案例四 246.2.5測試案例五 24第7章結論 25參考文獻 26致謝 27大連東軟信息學院畢業(yè)設計(論文)-第1章緒論1.1課題研究背景與意義近兩年,國內(nèi)外移動終端市場發(fā)展異常迅速,不斷有新型的手機生產(chǎn)商涌入市場,并且規(guī)模在不斷壯大,比如國外以Apple,Samsung生產(chǎn)商為主,國內(nèi)以華為,HTC,小米等手機生產(chǎn)商為主。目前,一些高品質的智能手機紛紛亮相,以其優(yōu)質的硬件保障,時尚潮流的外觀設計,使人們越來越對智能手機愛不釋手。同時我們即將迎來4G的網(wǎng)絡時代,將來會有越來越好的網(wǎng)絡環(huán)境作為支持,我相信人們對移動終端,對移動終端應用的需求也會隨之越來越廣泛。智能手機有其便攜,時尚,操作簡單等優(yōu)點,又有良好的網(wǎng)絡環(huán)境作保障,這必將會帶來更多的手機用戶,這給未來的手機產(chǎn)業(yè),網(wǎng)絡產(chǎn)業(yè),以及它的一些副產(chǎn)業(yè)比如終端游戲產(chǎn)業(yè)等帶來了新的契機。中國手機市場,是由國內(nèi)外諸多企業(yè)共同合作,共同努力把中國打造成為世界手機市場上的一個強國。為了滿足眾多的用戶需求,中國手機市場正在不斷提升自己的服務與創(chuàng)新,并且在不斷引導軟件開發(fā)商和軟件開發(fā)人員根據(jù)用戶的需求來進行開發(fā)。這樣就會有豐富的,實用的軟件被開發(fā)出來發(fā)布到軟件下載平臺,而不同的用戶只需要可以根據(jù)自己的需求去軟件平臺下載自己需要的軟件。這樣一來整個市場就會呈現(xiàn)出一個良好的循環(huán)發(fā)展模式,開發(fā)者直接與用戶發(fā)生了聯(lián)系,由于手機終端的軟件開發(fā)相對比較簡單因此有些用戶也可能是潛在的開發(fā)者,這樣就降低了市場調研的成本,更有利于整個手機產(chǎn)業(yè)的發(fā)展。作為手機產(chǎn)業(yè)的副產(chǎn)業(yè),我相信手機游戲在這樣一個終端與網(wǎng)絡不斷發(fā)展的環(huán)境下,必然有一個好的發(fā)展前景。1.2國內(nèi)外移動互聯(lián)網(wǎng)發(fā)展現(xiàn)狀我國移動網(wǎng)絡行業(yè)的費用不斷地降低,帶寬不斷地提高,網(wǎng)絡業(yè)務不斷創(chuàng)新和快速的發(fā)展。用戶的需求也從簡單的打電話,發(fā)短信等業(yè)務向多元化,多任務化,多媒體化發(fā)展,由于我國網(wǎng)絡技術取得了突破性的進展,網(wǎng)絡業(yè)務和服務也隨之更加完善,這都促使了我國移動網(wǎng)絡的快速發(fā)展。在我國,2010年移動互聯(lián)網(wǎng)的收入量同比增加了66%,市場獲得收入更是達到了633億人民幣,2009年到2011年的復合增長率超過了40%。由此可見,我國的移動互聯(lián)網(wǎng)行業(yè)迎來了一個快速成長的時期。在不遠的將來,中國互聯(lián)網(wǎng)必將會有令世界矚目的成就,到那時中國的移動互聯(lián)網(wǎng)的覆蓋率將超過互聯(lián)網(wǎng)的覆蓋率,可以斷定移動互聯(lián)網(wǎng)的飛速發(fā)展將會帶來更大規(guī)模的經(jīng)濟產(chǎn)業(yè)。在未來,它創(chuàng)造的財富有可能是互聯(lián)網(wǎng)創(chuàng)造的幾十倍或者更多。由于我國移動互聯(lián)網(wǎng)市場將迎來一次前所未有的大發(fā)展,移動網(wǎng)絡已經(jīng)成為最掙錢的行業(yè)之一。目前,這個行業(yè)已經(jīng)吸引了大批的有志之士,和有遠見的投資者。但是大家所采取的投資方式卻大相徑庭,其中最熱門的投資應該就是對智能手機終端的投資,因為大批的投資者認為移動網(wǎng)絡的完善給移動終端的發(fā)展提供了保障。其次,比較熱門的投資就是手機終端的軟件行業(yè)了,其中就包括手機游戲,手機視頻播放器等等;還有其它一些基于移動設備上的地圖導航,終端系統(tǒng),電子商務等;除此之外,還有基于Android、iso等平臺的軟件開發(fā),社交網(wǎng)絡的建設等多種不同的方向。2010年我國公布的移動互聯(lián)網(wǎng)投資項目量為16起,投資的金額為2億美元左右,是近幾年最多的一年。到2011年3月份,我移動互聯(lián)網(wǎng)的投資項目量為7起,其中4起的投資額為1.2億美元,差不多是上一年2010年全年的投資額??梢钥闯鑫覈苿踊ヂ?lián)網(wǎng)的投資是越來越火熱,而且移動市場在未來幾年也會更加活躍。從上面的資料不難看出,我國在移動互聯(lián)網(wǎng)領域有巨大的發(fā)展?jié)摿Γ呀?jīng)吸引了眾多的國內(nèi)外投資者來投資這個領域,這將促進我國移動互聯(lián)網(wǎng)的進一步發(fā)展。2013年我國的移動互聯(lián)網(wǎng)技術,服務、產(chǎn)品、投資、盈利、用戶量等方便有了巨大的增長。在美國,移動互聯(lián)網(wǎng)已經(jīng)進入了快速發(fā)展的時期,從2010年到2011年使用移動網(wǎng)絡終端的用戶上升了30%,同期高于其它的國家。到目前為止依然呈現(xiàn)出不斷快速發(fā)展的態(tài)勢。依據(jù)2009年公布的數(shù)據(jù)顯示,使用移動網(wǎng)路終端的用戶數(shù)有了很大的提升,比2008年公布的數(shù)據(jù)上漲了70%左右。資料顯示,在美國iphone手機在美國手機上網(wǎng)流量的份額已經(jīng)占到了50%,android手機占到了35%的份額,從這兩種手機流量占有量上可以看出用戶對手機體驗、性能、外觀、程序設計等方面有了更高的要求。美國目前已經(jīng)開通了4G網(wǎng)絡的服務,這將會為用戶提供更好的網(wǎng)絡環(huán)境。根據(jù)美國的市場研究調查,不難看出美國移動互聯(lián)網(wǎng)市場已經(jīng)進入了一個鼎盛時期,美國的手機移動互聯(lián)網(wǎng)已經(jīng)融入到了美國人的日常生活中,成為不可或缺的一部分?,F(xiàn)在移動終端源碼的開源性和移動設備不斷的更新升級,以及網(wǎng)絡基礎設施的不斷完善,美國的移動互聯(lián)網(wǎng)市場會有更大的發(fā)展。1.3課題研究內(nèi)容與方法華容道游戲的創(chuàng)意取自我國的三國故事,是我國古老的益智游戲。在赤壁大戰(zhàn)中曹操被蜀吳兩國聯(lián)軍打敗,逃至華容道這個地方,正好關羽就埋伏在這個地方,關羽為了報答當年曹操的知遇之恩放走了曹操,游戲的故事背景就是來源于此。華容道游戲被認為是我國傳統(tǒng)的益智游戲,以其方陣的多變性,及其蘊含著的數(shù)學原理吸引了國內(nèi)外大批的數(shù)學家來研究。人們一直在尋找一個最快捷的途徑來破解該游戲,目前美國數(shù)學家尋找到的橫刀立馬的最優(yōu)解為81步。華容道游戲的方陣是由二十個方格組成的棋盤,其中曹操占據(jù)四個小方格,五虎上將關羽,張飛,馬超,趙云,黃忠各占據(jù)兩個小方格,其余4個小兵各占據(jù)一個小方格。棋牌中有兩個空著的方格,利用空著的兩個小方格移動棋子,游戲的解法就是設法使用最少的步數(shù)把曹操從最初的位置移動到布局的出口,幫助曹操從出口逃走。游戲中只允許移動各個棋子,但不允許跨越棋子。游戲的關鍵點是占據(jù)四格的曹操和橫排在棋牌中的關羽,至于其它的棋子可以根據(jù)自己的需要隨意移動。華容道有許多不同的布陣方法,相應的也有許多不一樣的解法,難易程度也就不一樣,比如“身先士卒”,“火燒連營”,“四將連關”,“兵臨曹營”,“兵分兩路”等諸多布局。這次畢設實現(xiàn)了一個具有基本功能的華容道游戲,比如關卡的選擇,游戲設置,但也做了一定的擴展比如添加了游戲背景音樂等。雖然華容道游戲看似簡單,但是真正做到完善還需要我不斷的努力。1.4論文組織結構論文一共分為7章,組織結構如下:第1章:介紹了課題的研究背景、意義,國內(nèi)外移動互聯(lián)網(wǎng)發(fā)展現(xiàn)狀,以及課題研究內(nèi)容與方法。第2章:Java技術,面向對象設計理念等進行概述。第3章:介紹了系統(tǒng)設計目標,功能需求,系統(tǒng)開發(fā)環(huán)境,還有系統(tǒng)可行性分析。第4章:介紹了體系結構設計,軟件UI界面設計,功能模塊設計等。第5章:介紹了系統(tǒng)開發(fā)環(huán)境配置,系統(tǒng)功能模塊的實現(xiàn),系統(tǒng)調試等。第6章:介紹了系統(tǒng)測試概述,測試用例設計等。第7章:對本論文做總結概述。
第2章關鍵技術介紹2.1Java與面向對象技術SUN公司在1990年月12開始關于Java語言的開發(fā)。最早是一個名叫帕特里克·諾頓的工程師在一個未來家用電器的項目中提出的,由于家用電器是基于嵌入式平臺,工程師們發(fā)現(xiàn)使用C語言開發(fā)程序會占用大量的內(nèi)存資源,而且由于C語言比較復雜容易發(fā)生錯誤,于是帕特里克·諾頓提議基于C語言重新開發(fā)出一種占用資源少,安全性高,比較簡易的語言,這種語言被命名為Oak,橡樹的意思。在1994年6月到7月間,Oak語言得到了進一步的發(fā)展,由于因特網(wǎng)的快速發(fā)展,工程師們意識到需要用瀏覽器來進行網(wǎng)絡交互,此時Oak被運用到了萬維網(wǎng)的開發(fā),同時Oak被更名為Java。到1995年5月23日Java和HotJava瀏覽器第一次被正式公開發(fā)布。面向對象技術就是在進行軟件開發(fā)的過程中對客觀問題采用客觀直接的辦法來解決問題。比如說我們要生產(chǎn)一輛汽車,并不是先設計發(fā)動機,再設計車體,輪子,最后再設計地盤,而是我們把地盤,車體,輪子,發(fā)動機一起設計,最后再把它們組裝成一輛汽車。對于他們之間如何進行協(xié)調工作,就是面向對象程序設計的基本思路。面向對象技術有抽象性、封裝性、繼承性和多態(tài)性特性。2.2核心算法通過使用一種搜索策略,用一部分狀態(tài)空間即節(jié)點在全部狀態(tài)空間即全部的節(jié)點中找到搜尋問題的解,也就是通過三元組來表示的狀態(tài)空間求解的辦法。它的的基本解題思路是把問題的起始狀態(tài)即初始節(jié)點當作當前狀態(tài)即當前節(jié)點,然后運用適當?shù)牟僮鞣麑λM行操作,生成一排子狀態(tài)即子節(jié)點,然后去匹配子狀態(tài)中是否有與目標狀態(tài)即目標節(jié)點匹配的,如果匹配成功則說明搜索完成,如果沒有出現(xiàn)則按此搜索策略從子節(jié)點再選出一個節(jié)點作為當前的節(jié)點重新搜索,直到搜索到目標節(jié)點,或搜索完所有的節(jié)點為止,表明搜索完成。我在此處使用的是廣度優(yōu)先搜索策略,因為對于有解的問題,廣度優(yōu)先搜素策略都能找到它的解。在華容道游戲中,尋找途徑最少的情況下尋找它的最優(yōu)解問題就是當前移動的棋子是它上一個節(jié)點對下一個節(jié)點的搜尋過程,其實也就是廣度搜索的最短路程。應用廣度優(yōu)先搜索策略總是能夠找到存在解的問題的最優(yōu)解。在華容道的解法中,廣度優(yōu)先搜索是最為合適的搜索辦法,因為華容道的布局變化多樣,解法也是多種多樣。其解法是,所有節(jié)點及其指向父節(jié)點的指針的反向指針構成一顆以初始節(jié)點為根節(jié)點的搜索樹。從初始節(jié)點算起深度相同的節(jié)點統(tǒng)稱為同層節(jié)點。廣度優(yōu)先搜索就是逐層對節(jié)點進行逐層搜索,直到找到目標節(jié)點為止。2.3AVD虛擬模擬器AndroidAVD模擬器給我們開發(fā)android程序帶來了極大的方便,我們可以用它來模擬一個硬件平臺,來測試應用程序在手機上是否能夠正常運行。下面我介紹一下AVD的安裝步驟:打開AVDManger,即Android的虛擬器管理工具。打開一周點擊“New”按鈕來新建一個虛擬器。然后在彈出的對話框中設置你的程序需要的運行參數(shù),包括設備的詳細參數(shù),比如安卓的版本,內(nèi)存的大小等等。如果不能新建一個虛擬器,說明你還沒有安裝好AVD,那么接下來介紹該如何新建一個模擬器。(1)首先需要打開SDK管理器。(2)打開SDK管理器,安裝Android的版本包。(3)成功安裝Android的版本包后就可以接著新建一個模擬器了。新的模擬器建立成功以后,來介紹一下該如何啟動模擬器。打開“AVD”選中你新建的模擬器的name,然后點擊“Start”按鈕,這時候會彈出一個對話框,在新窗體中點擊“Lanuch”啟動虛擬器,之后會彈出一個新的窗口顯示“攝像頭設備選擇”,然后選擇你的攝像頭,這樣一來新的模擬器就建成功了。
第3章系統(tǒng)需求分析3.1系統(tǒng)設計目標華容道游戲主要包括分為三大功能模塊:系統(tǒng)設置管理模塊;游戲控制模塊;系統(tǒng)說明模塊。系統(tǒng)設置管理模塊包括:聲音設置、震動設置、提示步數(shù)設置、布局管理,其中布局管理子模塊又包含布局添加、布局刪除;游戲控制模塊包括:選擇難度、選擇關卡、開始游戲,其中開始游戲子模塊又包括棋子操作、進度保存、撤銷、恢復功能、殘局解算;系統(tǒng)說明模塊包括規(guī)則說明。3.2系統(tǒng)功能需求進入到開始游戲主菜單,用戶通過點擊開始按鈕來進入到游戲界面,這個界面顯示的是游戲主界面的信息。操作游戲的幾個基本按鍵都可以在游戲主界面中找到,其中包括一些基本的功能,比如獲取游戲答案,移動步驟提示,游戲音樂的設置,撤銷,重玩等幾個功能。其次,在游戲主界面上還顯示了當前關卡的最少步數(shù),當前等級以及當前的步數(shù)等信息。用戶點擊游戲設置按鈕就會進入到游戲設置的界面,界面中設置了一個滑塊來控制背景音樂的音量的大小,用戶可以來回拖動滑塊來控制它。還有兩個多選框,每一個多選框內(nèi)又有兩個按鈕,用戶可以通過點擊這四個按鈕來控制背景音樂的開關,和音效的開關。用戶點擊關卡按鈕以后就會進入到關卡選擇的界面,這個界面顯示了各個關卡的信息,不同的關卡代表不同的布局,不同的布局又有不同的難易程度。用戶點擊相應的關卡就會進入到相應的游戲中去。另外,游戲關卡界面還實現(xiàn)了界面的滑動顯示。用戶點擊關于按鈕就會進入到游戲操作介紹的界面。這個界面用來告訴用戶該怎么操作游戲。在界面上還添加了一個確認的按鈕,用戶可以點擊它來退出游戲關于界面。3.3系統(tǒng)非功能需求本游戲系統(tǒng)性能穩(wěn)定,成本低廉,功耗低,可安裝在任何android手機平臺上運行。3.4系統(tǒng)開發(fā)環(huán)境本系統(tǒng)軟件開發(fā)采用Java語言,基于Eclipse開發(fā)平臺,用(AVD)AndroidVirtualDevice測試軟件。3.5系統(tǒng)可行性分析由于手機的操作系統(tǒng)更加完善,硬件性能逐步提高,智能手機越來越便宜、普及,所以智能手機已經(jīng)成為人們辦公娛樂、學習、通訊、收發(fā)電子郵件等日常生活不可或缺的一部分,而益智游戲也在逐步占據(jù)移動終端手機的市場。3.5.1技術可行性Android游戲需要掌握java開發(fā)語言和Android系統(tǒng),另外對于算法也要有所掌握。3.5.2經(jīng)濟可行性隨著現(xiàn)代科技的進步與發(fā)展,移動終端的生產(chǎn)成本也逐漸降低,使智能手機得到廣泛的普及,用戶只需要在一臺普通的智能手機上便可以安裝此游戲,享受此游戲帶來的樂趣。第4章系統(tǒng)設計4.1體系結構設計如圖4.1所示,安卓應用程序可以分為三大層次結構,分別是UI設計層,游戲控制層,和數(shù)據(jù)管理層。UI設計層,這層主要包括了視圖對象和圖層對象。視圖對象的主要內(nèi)容是制作圖層對象的鍵盤響應事件,處理線程等。圖層對象用來定義界面的高度、布局、移動規(guī)則等。游戲控制層,在Android游戲開發(fā)中,通??梢酝ㄟ^Activity來控制游戲的進程,比如說怎么進入到游戲主頁面,加載游戲,進入到關于界面,以及開始,結束游戲等操作都需要Activity來操作。數(shù)據(jù)管理層,用來保存游戲的數(shù)據(jù),它的作用主要是用來保存數(shù)據(jù)常量,保存當前的游戲進度,在游戲退出的時候保存游戲當前狀態(tài)等。UI設計層UI設計層游戲控制層游戲控制層數(shù)據(jù)管理層數(shù)據(jù)管理層圖4.1系統(tǒng)體系結構4.2軟件設計Android應用程序是由不同的組件組合成的,它們是Activity,Service,BroadcastReceiver,和contentprovider等組件。同時,還需要Intent的消息組件來實現(xiàn)組件之間的通信,在設計Android應用程序的時候并不需要所有的組件,我們只需要使用其中的幾個組件來完成。這里需要注意的是所有被用到的組件都必須AndroidManifest.xml文件中去申明,否則在運行程序的時候會報錯。4.2.1UI界面設計圖4.2主界面如果4.2所示,主界面的開始,關卡,選項,幫助,退出運用到的是線性布局,ImageButton控件。功能:點擊開始按鈕就會進入到游戲主界面Activity。點擊關卡按鈕進入到關卡選擇界面。點擊選項按鈕進入到系統(tǒng)設置。點擊關于進入到游戲說明界面。點擊退出按鈕,退出游戲。圖4.3游戲頁面如圖4.3所示,游戲界面運用到了線性布局,ImageButton,TextView控件。功能:實現(xiàn)的主要功能有,返回上一步,獲取答案,重玩本關,顯示當前關數(shù),顯示當前步數(shù),顯示最佳成績。圖4.4關卡選擇模塊如圖4.4所示,關卡選擇界面運用的線性布局,ImageButton,GridView控件。功能:選擇可以選擇不同難以程度的關卡。圖4.5設置界面如圖4.5所示,游戲設置界面運用到的是線性布局,RadioGroup,滑塊控件。功能:調節(jié)音量,控制移動聲音和背景音樂。圖4.6游戲說明界面如圖4.6所示,游戲說明界面運用到了線性布局Textview,Button控件。功能:給用戶介紹如何操作游戲。4.2.2功能模塊設計系統(tǒng)軟件功能框圖,如圖4.7所示。圖4.7系統(tǒng)軟件功能框圖游戲主界面包括對主界面布局的繪制,通過點擊相應的功能選項進入對應的響應事件。開始游戲包括游戲界面的布局繪制,通過點擊返回上一步,撤銷,獲取答案,移動棋子等按鈕得到相應的按鍵事件。選項包括游戲設置界面的布局繪制,通過滑塊,按鈕控件來設置背景音樂的大小和開關背景聲音,棋子移動的聲音來得到相應的響應事件。關于包括游戲幫助界面的布局繪制,還有通過點擊按鈕得到相應的按鍵事件退出界面。點擊退出按鈕,得到相應的按鍵事件,退出游戲。4.3軟件系統(tǒng)的類設計以下是幾個主要類設計,如表4.1所示。表4.1軟件系統(tǒng)的類設計序列號類名使用說明1HelpActivity類用來實現(xiàn)游戲關于界面的類2HRDActivity類申明游戲界面的類3AnsActivity類獲取游戲答案的類4WelcomeActivit類實現(xiàn)游戲歡迎界面的類5SLActivity實現(xiàn)游戲選擇的類續(xù)表4.1軟件系統(tǒng)的類設計序列號類名使用說明6ConfActivity類游戲設置的實現(xiàn)7GLevel類關卡的信息并且可以設置關卡信息8N類常量類,定義了各個常量9GameView類游戲的主類10Map類地圖信息類11FileHelper類應用了SharedPreferred來保存各種游戲信息12CtThread類響應用戶操作的線程13DraThread類繪制畫布14RecThread類獲取積分的類15Model類實現(xiàn)棋子的移動4.3.1實現(xiàn)多個界面互相切換可以多次繼承Activity,來使用戶通過多個按鍵進行游戲界面的切換。以下是類的具體實現(xiàn),如表4.2所示。表4.2界面的實現(xiàn)序列號類名使用說明1publicclassHelpActivityextendsActivityHelpAcitivtty繼承了Activity類用來實現(xiàn)游戲幫助的界面2publicclassAnsrActivityextendsActivityAnsActivity繼承了Activity類用來實現(xiàn)獲取答案的界面3publicclassConfActivityextendsActivityConfAcitivity繼承了Activity類用來實現(xiàn)游戲設置的界面4publicclassHRDActivityextendsActivityimplementsOnClickListenerHRDActivity繼承了Acitivity類并添加一個點擊監(jiān)聽的接口5publicclasswelcomeActivityextendsActivitywelcomeActivity繼承了Activity類實現(xiàn)游戲歡迎界面的界面。6publicclassSLActivityextendsActivityimplementsOnGtListener,OnTcListenerSLActivity繼承了Activity類實現(xiàn)了選擇游戲等級的界面。并添加兩個接口OnGtListener,OnTcListene4.3.2PlayView類PlayView類是一個視圖類,根據(jù)主類提供的圖片的坐標,圖片的監(jiān)聽事件,關卡數(shù)據(jù),棋子布局等數(shù)據(jù)來實現(xiàn)游戲界面,這里不考慮游戲的算法,不考慮如何具體實現(xiàn)。只是考慮游戲界面需要用到什么數(shù)據(jù),有哪些接口等。同時在這個類里定義了游戲設置功能的一些數(shù)據(jù),包括游戲背景音樂的開關,音量的大小等等。下面是類中部分類函數(shù)的設計,如表4.3所示。表4.3PlayView類的實現(xiàn)序列號屬性和方法使用說明1publicclassPlayViewextendsSurfaceViewimplementsSurfaceHolder.Callback繼承了SurfaceView,主要用于游戲界面的開發(fā)類2privatevoiddrawforTest(Canvasc)界面布局設置,背景顏色設置3publicvoidgameVin()獲取游戲是否通過的數(shù)據(jù)4publicvoidrefreshStep()刷新移動的步數(shù)5publicvoiddoDraw(Canvascanvas)設置圖片的布局4.3.3CtThread類游戲控制類的是整個華容道游戲的核心,該類實現(xiàn)了華容道游戲的算法,本系統(tǒng)主要是通過CtThread類來實現(xiàn),如表4.4所示。表4.4CtThread類的實現(xiàn)序列號屬性和方法使用說明1publicclassCtThreadextendsThreadCtThread類繼承了Thread用來實現(xiàn)游戲的控制2publicCtThread(PlayViewplayView)定義CtThread類的一個構造函數(shù)3privateintsearchLeft(intm)碰撞檢測,向左檢測4privateintsearchRight()碰撞檢測,向右檢測5privateintsearchDown()碰撞檢測,向下檢測6privateintsearchUp()碰撞檢測,向上檢測7privatevoidmoveup(intvalue)向上移動棋子8privatevoidmoveLeft(intvalue)向走移動棋子9privatevoidmoveRight(intvalue)向右移動棋子10privatevoiddownRight(intvalue)向下移動棋子大連東軟信息學院畢業(yè)設計(論文)第5章系統(tǒng)實現(xiàn)5.1環(huán)境配置下載JDK安裝包,并安裝JDK。下載Eclipse應用程序,并安裝。3.下載并安裝AndroidSDK,運行CMD窗口,并輸入android—h點擊回車,如果顯示Globaloptions:-h--help
Thishelp.
-s--silent
Silentmode:onlyerrorsareprintedout.
-v--verbose
Verbosemode:errors,warningsandinformationalmessagesareprinted.表明SDK已經(jīng)安裝成功,否則不會顯示關于AndroidSDK的信息。4.下載并安裝ADT,即AndroidDevelopmentTools(ADT),谷歌為開發(fā)Android制作的開發(fā)工具包,可以基于Eclipse來開發(fā)和調試Android應用程序。5.2功能模塊實現(xiàn)系統(tǒng)可分為三層:1)UI設計層;2)游戲控制層;3)數(shù)據(jù)管理層。把系統(tǒng)分為三層,然后一層一層的分析實現(xiàn),這樣一來邏輯比較清晰,也不容易出錯。即使出錯也只需要我們修改其中的一部分,比如需要美化界面我們只需要去修改UI設計層的程序;如果需要給游戲添加或刪除某一項功能,我們只需要去游戲控制層修改;如果游戲的數(shù)據(jù)管理出現(xiàn)問題我只需要去數(shù)據(jù)管理層來修改程序。這樣劃分以后,以便于我們維護程序,擴展功能,也使我們程序邏輯結構看起來更加清楚。本系統(tǒng)也可以分為5大模塊,即游戲開始模塊,游戲關卡模塊,游戲選項模塊,游戲關于模塊,和游戲退出模塊。以下是5大功能模塊的實現(xiàn):5.2.1游戲開始模塊圖5.1游戲開始界面如圖5.1所示,游戲開始模塊是整個游戲的主模塊,在這個模塊中基本實現(xiàn)了玩家對游戲的基本操作,通過Intent來接收傳入的參數(shù),又通過多個Thread來實現(xiàn)背景音樂,音效,錄像等功能的實現(xiàn),部分偽代碼:intent=this.getIntent();Stringlevel=intent.getStringExtra();gameView=newPlayView();rt=newThread(gameView);LinearLayoutA=(LinearLayout)findViewById();A.addView(gameView);rt.class();棋子移動是華容道游戲最主要的功能,在該游戲系統(tǒng)中使用CtThread類來響應用戶的操作。棋子是否可以移動,并獲取可移動的方向于Model類中。棋子的移動過程以及判斷相應的手機觸摸事件在onTouchEvent中實現(xiàn),其過程如下:執(zhí)行MotionEvent.ACTION_down動作來獲取玩家按下動作的坐標x,y,利用坐標判斷玩家按下時選中的棋子。執(zhí)行MotionEvent.ACTION_up動作來判斷是否有棋子被選中,如果同時有其它的棋子被選中則不做任何操作,如果有棋子被選中則繼續(xù)進行。棋子被選中時,根據(jù)抬起來時候的坐標x,y和按下時的坐標,獲取橫向以及縱向的位移向量Xa,Yb。根據(jù)向量Xa,Yb來判斷玩家將棋子移動的方向,偽代碼如下:if(Xa>Yb){if(Xa>0)oveMethod.Right;//向右elseMoveMethod.Left;//向左}Else{if(Yb>0)MoveMethod.Down;//向下elseMoveMethod.Up;//向上}5.2.2游戲關卡模塊圖5.2游戲主界面 圖5.3關卡選擇界面如圖5.2所示,首先進入關卡選擇界面。游戲關卡模塊一共為玩家提供了21種不同難以程度的關卡,如圖5.3所示。用戶可以根據(jù)自己的需要來挑戰(zhàn)不同的關卡。此模塊通過對GridView添加觸碰監(jiān)聽器,然后再通過Intent來啟動相應的關卡Activity。部分偽代碼:gridView.setOnItemClickListener(newOnItemClickListener(){ publicvoidonItemClick(){Intentintent=newIntent();intent.putExtra();ntent.putExtra();startActivity(intent);Activity.this.finish();}});5.2.3游戲選項模塊 圖5.4游戲選項界面如圖5.4所示,游戲選項模塊為用戶提供了游戲的背景音樂和音效的設置功能。玩家可以根據(jù)自己的需要來調節(jié)音量的大小,移動聲音的關閉和背景音樂的關閉。此模塊是通過給五角星的控件設置監(jiān)聽器,然后實現(xiàn)監(jiān)聽的方法來實現(xiàn)音量大小的調節(jié)。通過對按鈕設置監(jiān)聽器來,實現(xiàn)該監(jiān)聽的方法來實現(xiàn)對背景音樂和音效的控制。以下為部分偽代碼:soundset.setListener(newRatingBar.BarChangeListener(){publicvoidmathod(){startactivity(); }});5.2.4游戲說明模塊圖5.5游戲說明界面如圖5.5所示,游戲關于模塊為玩家提供了游戲操作說明,新手可以根據(jù)游戲說明來進行游戲操作。此模塊的實現(xiàn)很簡單只需要通過Textview就可以實現(xiàn)。以下是部分偽代碼:setContentView(R.layout.about);abcontent=(TextView)findViewById(R.id.abcontent);//實例化確定按鈕btn=(Button)findViewById(R.id.btn);//給內(nèi)容文本框填充文字內(nèi)容abcontent.setText();btn.setOnClickListener(newView.OnClickListener(){}5.2.5游戲退出模塊游戲退出模塊實現(xiàn)了玩家可以正常退出游戲的功能。通過給退出按鈕添加一個監(jiān)聽事件,調用finish()方法來退出游戲,如圖5.6所示。圖5.6退出游戲5.3系統(tǒng)調試根據(jù)系統(tǒng)的三個層次,即UI設計層,游戲控制層,數(shù)據(jù)管理層來進行系統(tǒng)調試,調試結果如表5.1所示。表5.1系統(tǒng)調試模塊預期結果實際結果UI設計層可以通過按鈕來切換界面能夠通過不同的按鈕來切換界面游戲控制層游戲中的圖片可以顯示,游戲聲音,音量等的控制可以實現(xiàn)界面中的圖片可以實現(xiàn),游戲聲音,音量等可以控制數(shù)據(jù)管理層華容道游戲的核心算法可以實現(xiàn)算法可以實現(xiàn),游戲可以成功過關大連東軟信息學院畢業(yè)設計(論文)第6章系統(tǒng)測試6.1測試概述華容道游戲是基于谷歌的Andriod平臺開發(fā)的一款益智游戲。本次主要是對游戲的五大模塊進行功能測試,分別是游戲開始界面的功能測試,關卡界面的功能測試,游戲設置界面的功能測試,游戲關于界面的功能測試,游戲退出功能的測試。測試的目的主要是為了保證游戲的各個模塊可以如期的工作,保證各個模塊可以為用戶帶來流暢的游戲體驗。本次游戲測試采用的是黑盒測試的方法。6.2測試用例6.2.1測試案例一游戲開始界面的功能測試,如表6.1所示。表6.1開始界面的功能測試步驟說明結果Step1打開游戲主界面游戲主界面應該成功被打開Step2點擊開始按鈕開打游戲開始界面游戲開始界面應該成功被打開Step3移動棋子點擊返回上一步按鈕棋子應該可以返回上一步Step4點擊獲取答案按鈕系統(tǒng)應該可以給玩家提示解法Step5點擊重玩按鈕本局游戲可以重新開始通過測試游戲開始界面的所有功能都能實現(xiàn)。6.2.2測試案例二關卡界面的功能測試,如表6.2所示。表6.2關卡界面的功能測試步驟說明結果Step1打開游戲主界面游戲主界面應該成功被打開Step2點擊關卡按鈕進入到關卡選擇界面關卡選擇界面應該能被成功打開Step3進入到關卡選擇界面不同布局,不同難易程度的關卡都可以被成功顯示出來Step4點擊每一個關卡按鈕進入到相應的游戲布局可以進入到不同的關卡游戲通過測試游戲關卡界面的所有功能都實現(xiàn)。6.2.3測試案例三游戲設置界面的功能測試,如表6.3所示。表6.3設置界面的功能測試步驟說明結果Step1打開游戲主界面游戲主界面應該成功被打開Step2點擊選項按鈕進入到游戲設置界面游戲設置界面成功被打開續(xù)表6.3設置界面的功能測試步驟說明結果Step4點擊音樂,音效的開關按鈕游戲的背景音樂,和移動棋子的聲音可以被開閉Step3拖拉滑塊控制音量的大小游戲的背景音樂的音量大小可以被控制通過測試游戲設置界面的所有功能都實現(xiàn)。6.2.4測試案例四游戲說明界面的功能測試,如表6.4所示。表6.4說明界面的功能測試步驟說明結果Step1打開游戲主界面游戲主界面應該成功被打開Step2點擊選項按鈕進入到游戲說明界面游戲說明界面能成功被打開Step3進入到游戲說明界面游戲使用說明能被成功顯示Step4點擊確定按鈕游戲說明界面能成功退出通過測試游戲說明界面的所有功能都實現(xiàn)。6.2.5測試案例五游戲退出功能測試,如表6.5所示。表6.5退出游戲功能測試步驟說明結果Step1返回游戲主界面成功返回游戲主界面Step2點擊退出按鈕游戲能被成功退出通過測試游戲退出功能能被實現(xiàn)。第7章結論當前移動終端游戲市場越來越火熱,移動終端的游戲開發(fā)商展開了激烈的競爭,為了贏得更多的客戶,各個開發(fā)商就得不斷提高自己產(chǎn)品的質量,趣味性,能否獲得豐富的市場份額促使商家不斷根據(jù)市場需要來開發(fā)新的產(chǎn)品。華容道這款游戲就是一款有趣的,得到廣大用戶喜歡的益智游戲。本設計通過廣度優(yōu)先搜索策略,碰撞檢測等算法實現(xiàn)了華容道游戲,也實現(xiàn)了一些基本的功能,包括移動棋子,通關檢測,背景音樂,音效設置,關卡選擇等。其中也存在幾個問題,比如關閉背景音樂后不能重新打開等,系統(tǒng)還需進一步完善。除此之外在做這次畢業(yè)設計的過程中我學到了很多東西,比如說在調試程序的過程中,會遇到各種各樣的問題,然后我不得不去為解決這些問題上網(wǎng)查詢資料,請教老師問同學,這個查錯的過程就迫使我不斷去學習新的東西。通過完成此次畢設也使我積累了不少項目經(jīng)驗,比如編寫代碼,測試程序,編寫項目報告等,這個過程使我對Java語言的認識和運用進一步加強,對Eclipse開發(fā)平臺進一步了解。最重要的是通過此次畢設我也總結出了一個學習經(jīng)驗,只有動手去實踐才會動腦去思考,只有去思考才能發(fā)現(xiàn)其中的問題,發(fā)現(xiàn)問題才會去想辦法解決問題,這樣一來即加強了動手能力,也可以不斷完善自己的理論知識。參考文獻[1]BruceEckel.Java編程思想(第4版)[M],機械工業(yè)出版社,2007[2]??藸枺甁AVA編程思想(第4版)[M],機械
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購談判與合同管理規(guī)范(標準版)
- 會議發(fā)言與討論規(guī)范制度
- 公共交通線路規(guī)劃管理制度
- 國際貿(mào)易融資與風險管理指南(標準版)
- 車站客運服務監(jiān)督制度
- 辦公室員工薪酬福利制度
- 《JavaScript前端開發(fā)技術》試卷及答案 卷2
- 2026年西安高新第三中學公寓樓招聘備考題庫及答案詳解1套
- 養(yǎng)老院消防通道及疏散預案制度
- 養(yǎng)老院入住老人社會活動參與制度
- 市場營銷團隊協(xié)作手冊
- 銀行反詐騙培訓知識講座課件
- 抖音酒水運營知識培訓
- 【語文】重慶市沙坪壩區(qū)樹人小學小學一年級上冊期末試題
- 護理管道安全管理制度
- (正式版)DB65∕T 4617-2022 《公路橋梁預應力孔道壓漿密實度檢測及評定規(guī)范》
- 醫(yī)用煮沸槽使用課件
- 初中寒假計劃課件
- 專升本語文教學課件
- 別人買房子給我合同范本
- 電力通信培訓課件
評論
0/150
提交評論