版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢業(yè)設計(論文)說明書</p><p> 題目: 基于Android的推箱子游戲設計</p><p><b> 摘 要</b></p><p> 推箱子游戲是一款古老的游戲,其設計目的是訓練人的邏輯思維能力。隨著計算機游戲的發(fā)展,很多編程愛好者基于該游戲的思想開發(fā)出了各種版本、各種類型的推箱子游戲,這其中也包括
2、很多手機版本的實現(xiàn)。隨著Android手機的迅猛發(fā)展,Android應用程序產生的手機增值服務逐漸體現(xiàn)出其影響力,對豐富人們的生活內容、提供快捷的資訊起著不可忽視的作用。本論文著眼于Android平臺的應用,開發(fā)一款可用的手機游戲程序——推箱子。</p><p> 本文首先介紹基于Android平臺應用軟件開發(fā)的背景,闡述了Android系統(tǒng)的現(xiàn)狀與發(fā)展情況;接著介紹Android平臺的搭建;然后通過一個較完整
3、的軟件開發(fā)周期,采用Java語言及Eclipse開發(fā)工具,從需求分析到游戲設計、實現(xiàn)、調試,最終實現(xiàn)了推箱子游戲。并經過嚴格的測試,可以在模擬器上正常使用。</p><p> 關鍵詞:Android;Java;推箱子游戲</p><p><b> ABSTRACT</b></p><p> Push Box Game is one of
4、the ancient games, the design objective of the game is to train people's logical thinking ability. Along with the development of computer games, a lot of programming enthusiasts based on the idea of the game develope
5、d a variety of versions, all types of Push Box Game, which also include many mobile phone version's realization. With the implementation of Android technology on mobile equipment, increment of capital on communicatio
6、n service exhibits its force on people’s eve</p><p> At first, This paper will introduce background of application development which base on Android platform, and describe the status and development of Andr
7、oid system; then introduce the way how to set up the environment of Android, and then via a more complete software development cycle, using the language of Java and the eclipse development tools, from demand analysis to
8、the game design, implementation, commissioning, eventually achieve a Push Box Game. The game has been tested rigorously, so it </p><p> Key words:Android;Java;Push Box Game</p><p><b> 目
9、 錄</b></p><p><b> 第一章 緒論1</b></p><p> 1.1 課題研究背景1</p><p> 1.2 課題來源及意義1</p><p> 1.3 國內外發(fā)展現(xiàn)狀1</p><p> 1.4 本文研究主要內容2</p>
10、<p> 1.5 本文章節(jié)安排2</p><p> 第二章 Android平臺搭建3</p><p> 2.1 工具介紹3</p><p> 2.1.1 Android簡介3</p><p> 2.1.2 Java簡介4</p><p> 2.2 開發(fā)環(huán)境5</p>
11、<p> 2.3 開發(fā)環(huán)境變量配置5</p><p> 2.3.1 JDK配置5</p><p> 2.3.2 SDK配置7</p><p> 2.3.3 Eclipse配置8</p><p> 2.4 應用環(huán)境8</p><p> 第三章 游戲設計9</p><
12、p> 3.1 游戲需求分析9</p><p> 3.2 游戲設計9</p><p> 3.2.1 系統(tǒng)設計思想9</p><p> 3.2.2 游戲總體設計9</p><p> 3.2.3 系統(tǒng)功能模塊設計10</p><p> 3.2.4 游戲的類框架設計10</p>&l
13、t;p> 3.2.5 算法的設計10</p><p> 第四章 游戲的實現(xiàn)12</p><p> 4.1 歡迎界面的實現(xiàn)12</p><p> 4.2 菜單界面的實現(xiàn)13</p><p> 4.2.1 開始游戲13</p><p> 4.2.2 聲音控制14</p><
14、;p> 4.2.3 游戲說明14</p><p> 4.2.4 退出游戲15</p><p> 4.3 游戲界面的實現(xiàn)15</p><p> 4.3.1 地圖類的實現(xiàn)16</p><p> 4.3.2 角色類的實現(xiàn)17</p><p> 4.3.3 鍵盤監(jiān)聽線程的實現(xiàn)18</p>
15、;<p> 4.3.4 角色移動線程的實現(xiàn)18</p><p> 第五章 軟件測試19</p><p> 5.1 測試方案及其執(zhí)行19</p><p> 5.2 測試步驟19</p><p> 5.3 本章小結20</p><p> 第六章 總結21</p>&l
16、t;p><b> 參考文獻22</b></p><p><b> 外文資料</b></p><p><b> 中文譯文</b></p><p><b> 致謝</b></p><p><b> 第一章 緒論</b&g
17、t;</p><p> 1.1 課題研究背景</p><p> 在我們的生活中有許多的游戲,但是游戲不同,它也會給玩家?guī)聿煌母惺芎蜕罾砟?。游戲是我們日常生活的一個必不可少的娛樂項目,也帶動了游戲相關產業(yè)市場的發(fā)展。游戲平臺經過從游戲機到電視游戲,然后又到pc游戲,手機游戲,中間經歷了很多的技術更新和變革。但隨著新技術的發(fā)展和我們生活水平的提高,手機開始逐漸普及,因為手機是非常小
18、巧便捷,所以它成為我們日常生活中必備通訊工具。基于手機平臺的游戲也就擁有了巨大的市場空間,隨著3G的開通和應用,手機游戲必然會迎來新的一輪游戲熱潮[1]!</p><p> 1.2 課題來源及意義</p><p> 推箱子游戲是一款古老的游戲,其設計目的是訓練人的邏輯思維能力。游戲場景一般是設定在空間狹小的倉庫中,要求把箱子擺放到指定位置,稍不小心就會出現(xiàn)箱子無法移動或者通道被堵住的
19、情況,所以需要巧妙的利用有限的空間和通道,合理安排移動的次序和位置,才能順利的完成任務。隨著計算機游戲的發(fā)展,很多編程愛好者基于該游戲的思想開發(fā)出了各種版本、各種類型的推箱子游戲。這其中也包括很多手機版本的實現(xiàn),隨著Android手機終端的逐漸熱銷,Android也引起眾多手機應用程序開發(fā)商的關注,由于Android基于Linux內核且具有開源、免費的特性,它迅速得到廣大愛好者以及許多廠商的支持,基于Android所開發(fā)的手機游戲擁有巨
20、大的潛力已成為行業(yè)共識。本文主要研究在Android手機上開發(fā)一款推箱子游戲[2]。</p><p> 1.3 國內外發(fā)展現(xiàn)狀</p><p> Android是由Google為首的OHA(Open Handset Alliance)推出的一款開放的嵌入式操作系統(tǒng)平臺。從2008年推出到現(xiàn)在Android正以前所未有的速度聚集著來自世界各地的開發(fā)者,越來越多的創(chuàng)意被應用到Androi
21、d應用程序的開發(fā)中,大有席卷整個手機產業(yè)的趨勢。</p><p> Android系統(tǒng),是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。</p><p> Android 的核心系統(tǒng)服務依賴于 Linux內核,如安全性,內存管理,進程管理,網絡協(xié)議棧
22、和驅動模型。由于Android帶有相當濃郁的Linux血統(tǒng)這也就意味著他擁有開源Linux的眾多優(yōu)點:安全、運算速度快、易于開發(fā)等等[3]。正因為Android具有上述的優(yōu)點,所以它在國內具有相當強勁的競爭優(yōu)勢。青年網絡的主要負責人潘長華先生說到:Android作為一款十分優(yōu)秀的移動開發(fā)平臺十分適合國內的開發(fā)環(huán)境。尤其是中小企業(yè)開發(fā)團隊低成本以及源代碼的分享可以為企業(yè)節(jié)省大量資金,這對于中小企業(yè)來說無疑是最大的誘惑。</p>
23、<p> 同時一個資深的Android開發(fā)愛好者曾說過:如果你是個人開發(fā)愛好者,那么Android就是Google為你量身打造的,開源才是王道,Android才是未來的主宰[4]。</p><p> 伴隨著Google Android操作系統(tǒng)的盛行,國內外的開發(fā)團隊也逐漸的壯大起來了,基于Android SDK的系統(tǒng)開發(fā),基于Android應用的開發(fā)等已逐漸倍受大家關注,而手機游戲開發(fā)歷來是移動
24、開發(fā)中分量最重的部分,面對如此火爆的Android市場自然也不甘示弱,由于Android的應用層開發(fā)是基于Java的開發(fā),所以必有其可以快速移植J2ME開發(fā)的游戲的優(yōu)勢,但是移植的游戲必定也不能發(fā)揮Android操作系統(tǒng)獨特的特性。所以目前基于Android游戲開發(fā)的市場還是不夠成熟的,面對這種情況,在了解Android SDK基礎上,本課題開發(fā)的就是一款完全適應于Android操作系統(tǒng)的推箱子益智游戲。</p><
25、p> 1.4 本文研究主要內容</p><p> 本游戲分三個模塊設計與實現(xiàn):歡迎動畫界面的設計與實現(xiàn),菜單界面的設計與實現(xiàn),游戲界面的設計與實現(xiàn)。游戲運行后首先進入歡迎動畫界面,動畫結束后,進入菜單界面,在菜單界面上有四種菜單供用戶選擇。游戲的過程中需要在適當?shù)牡胤教砑由弦粜В⑶铱梢詫σ粜нM行開與關的設置。還需要為游戲添加說明界面,簡單介紹游戲的基本功能及玩法。游戲需要設計適當?shù)碾y度,使玩家能夠經
26、過努力完成游戲。</p><p> 1.5 本文章節(jié)安排</p><p> 第一章是緒論,闡述了本論文的選題背景、來源和意義,以及國內外發(fā)展現(xiàn)狀,并對本文研究的主要內容進行簡述。</p><p> 第二章介紹Android平臺的搭建。</p><p> 第三章介紹開發(fā)此項目所做的需求分析和游戲設計。</p><p
27、> 第四章介紹游戲實現(xiàn)的功能。</p><p> 第五章介紹游戲的測試。</p><p> 第六章對本次畢業(yè)設計的總結。</p><p> 第二章 Android平臺搭建</p><p> 本章主要介紹項目需要的開發(fā)工具,及如何構建Android開發(fā)環(huán)境,包括JDK、Android SDK、Eclipse的配置。<
28、/p><p><b> 2.1 工具介紹</b></p><p> 2.1.1 Android簡介</p><p> Android是基于Linux內核的操作系統(tǒng),Android系統(tǒng)具有開放性、應用程序無界限、應用程序是在平等的條件創(chuàng)建的、應用程序可以輕松地嵌入網絡和應用程序可以并行運行等特點。Android的系統(tǒng)架構共分為4層,由高到低
29、分別是應用層、應用框架層、系統(tǒng)運行庫層和linux內核層。</p><p> Android應用程序是由四個模塊構造:Activity,Intent,Content Provider,Service[5]。當然也不是每個Android應用程序都必須由這四部分組成,可以根據(jù)開發(fā)者的需求進行組合。但任何一個應用程序模塊都必須在AndroidMainfest.xml文件中聲明使用到的這些模塊。</p>
30、<p> Activity是最基本的模塊。我們稱之為“活動”。簡單理解,Activity代表一個用戶所能看到的屏幕,主要用于處理應用程序的整體性工作,例如,監(jiān)聽系統(tǒng)事件(按鍵事件、觸摸屏事件等),為用戶顯示指定的View,啟動其他Activity等。所有應用的Activity都繼承于Android.app.Activity類,該類是Android提供的基層類,其他的Activity繼承該父類后,通過父類的方法來實現(xiàn)各種功能,
31、這種設計在其他領域也較為常見。</p><p> Android用Intent這個特殊類實現(xiàn)在Activity與Activity之間的切換。Intent類用于描述應用的功能。在Intent的描述結構中,有兩個最重要的部分:動作和動作對應的數(shù)據(jù)。典型的動作類型有:MAIN、VIEW、PICK、EDIT等,而動作對應的數(shù)據(jù)則以URI的形式表示[6]。</p><p> 數(shù)據(jù)是應用的核心。在
32、Android中,默認使用SQLite作為系統(tǒng)數(shù)據(jù)庫。但是在Android中,使用方法有點小小的不一樣。在Android中,每一個應用都運行在各自的進程中,當一個應用需要訪問其他應用的數(shù)據(jù)時,也就是數(shù)據(jù)需要在不同的虛擬機之間傳遞,這樣的情況操作起來可能有些困難(正常情況下,你不能讀取其他應用的db文件),ContentProvider正是用來解決在不同的應用包之間共享數(shù)據(jù)的工具[7]。</p><p> Ser
33、vice即“服務”的意思,既然是服務,那么Service將是一個生命周期長而且沒有用戶界面的程序。如一個正在從播放列表中播放歌曲的媒體播放器,在這個媒體播放器應用中,應該會有多個activity,讓使用者可以選擇歌曲并播放歌曲。然而,音樂重放這個功能并沒有對應的activity,因為使用者會認為在導航到其他屏幕時音樂應該還在播放。在這個例子中,媒體播放器這個activity會使用Context.startService( )來啟動一個s
34、ervice,從而可以在后臺保持音樂的播放。同時,系統(tǒng)也將保持這個service一直執(zhí)行,直到這個service運行結束。另外,我們還可以通過使用Context.bindService( )方法連接到一個service上(如果這個service當前還沒有處于啟動狀態(tài),則將啟動它)。當連接到一個service之后,還可用service提供的接口與它進行通訊。以媒體播放器為例,我們還可以執(zhí)行暫停、重播等操作[8]。</p>&
35、lt;p> 2.1.2 Java簡介</p><p> Java是一種簡單的、面向對象的、分布式的、安全的、可移植的、性能優(yōu)異的多線程語言。它以其強安全性、平臺無關性、硬件結構無關性、語言簡潔、面向對象的特點,在網絡編程語言中占據(jù)了無可比擬的優(yōu)勢,成為實現(xiàn)電子商務系統(tǒng)的首選語言[9]。</p><p> Java具有如下特點:</p><p><
36、b> 簡單性</b></p><p> Java語言是一種面向對象的語言,它通過提供最基本的方法來完成指定的任務,開發(fā)者只需知道一些概念就能夠編出一些應用程序。Java程序相對較小,其代碼能夠在小機器,例如手機上運行,這應該是大家經??梢钥吹降?。</p><p><b> 面向對象語言</b></p><p> Jav
37、a的設計集中于對象及其接口,它提供了簡單的類機制以及動態(tài)的接口模型。對象中封裝了它的狀態(tài)變量和相應的方法,實現(xiàn)了模塊化和信息的隱藏;而類則是提供了對象的原型,并且通過繼承的機制,子類可以使用父類所提供的方法,以實現(xiàn)代碼的復用。</p><p><b> 健壯性</b></p><p> Java語言被病毒感染和破壞得最少。大部分病毒程序常用的方法就是通過巧妙地運用
38、地址變量如指針來獲取計算機的資源,而Java正好放棄了難學和危險的指針功能,從而使Java更安全。</p><p><b> 多線程</b></p><p> 設計Java的目標之一,就是為了滿足人們對創(chuàng)建交互式網上程序的需要。多線程就是為實現(xiàn)這個目標而設計出來的,它使用Java編寫出來的應用程序可以同時執(zhí)行多個任務。多線程機制使應用程序能夠并行執(zhí)行,而且同步機制
39、保證了對共享數(shù)據(jù)的正確操作。</p><p><b> 自動內存管理</b></p><p> 可以說自動內存管理是Java健壯性的體現(xiàn),內存管理是很多種應用程序內的關鍵因素。在網絡上的其他地方讀取大量的數(shù)據(jù),之后把該數(shù)據(jù)寫入硬盤上的數(shù)據(jù)庫內,一般的設計就是把數(shù)據(jù)讀入內存中的某種集合內,對這些數(shù)據(jù)執(zhí)行某些操作,之后把數(shù)據(jù)寫入數(shù)據(jù)庫。在數(shù)據(jù)寫入數(shù)據(jù)庫后,在下一批處理
40、之前,臨時存儲數(shù)據(jù)的集合必須清空舊數(shù)據(jù),或者被刪除后再建。這種操作可能執(zhí)行很多次,在像C++這些不提供自動垃圾搜集的語言中,手工清空或刪除集合數(shù)據(jù)結構邏輯上的一點點缺陷就可能導致大量的內存被錯誤地收回或丟失。Java的自動內存管理正好解決這一點,它使程序員不用再為內存管理寫大量的代碼[10]。</p><p><b> 2.2 開發(fā)環(huán)境</b></p><p>&
41、lt;b> JDK1.6</b></p><p> Eclipse3.5</p><p> AndroidSDK10.0</p><p> Eclipse插件ADT10.0</p><p> 2.3 開發(fā)環(huán)境變量配置</p><p> 2.3.1 JDK配置</p>&l
42、t;p> 右鍵點擊計算機->屬性->高級系統(tǒng)設置,點擊下面的環(huán)境變量,在下面的“系統(tǒng)變量”處選擇新建在變量名處輸入JAVA_HOME,并將JDK所在地址填入變量值中,確定即可,如圖2-1所示。</p><p> 圖2-1 JDK配置1</p><p> 確定后就會返回環(huán)境變量界面,再新建一個系統(tǒng)變量名為classpath,變量值為%JAVA_HOME%/lib
43、/rt.jar;%JAVA_HOME%/lib/tools.jar,確定即可,如圖2-2所示。</p><p> 圖2-2 JDK配置2</p><p> 確定后仍會返回環(huán)境變量界面,然后再找到Path的變量,雙擊或者點擊編輯,在變量名最前面加上%JAVA_HOME%/bin,確定即可,如圖2-3所示。</p><p> 圖2-3 JDK配置3&l
44、t;/p><p> 然后開始—運行cmd,輸入java或者javac看看有沒有效果,如果出現(xiàn)一大堆其它的東西,那就好了,如果出現(xiàn)類似xxx不是內部或者外部命令之類的,那就說明你的設置有問題,看看哪里出現(xiàn)問題然后加以改正。</p><p> 2.3.2 SDK配置</p><p> 新建一個系統(tǒng)變量Android,并將SDK文件夾中的platform-tools和
45、tools的地址填入變量值中,以分號來隔開,確定即可,如圖2-4所示。</p><p> 圖2-4 SDK配置1</p><p> 然后找到Path,在Path最后加上;%Android%,如圖2-5所示。</p><p> 圖2-5 SDK配置2</p><p> 然后測試環(huán)境變量是否配置成功,在cmd中輸入adb出現(xiàn)一
46、堆東西,說明環(huán)境變量配置成功。</p><p> 2.3.3 Eclipse配置</p><p> 首先需要添加Eclipse插件ADT,在打開Eclipse后,點擊菜單欄的Help—>Install New Software...然后點擊Add會出來一個Add Site的窗口,這里Name輸入ADT,Location中輸入ADT在電腦中的地址,然后就等待連接了,連接上將Dev
47、eloper Tools全都選中accept,finish就可以了,完成后會提示重啟Eclipse來加載插件,重啟,就可以用了。</p><p> 還需要將Android SDK插入到Eclipse中,打開Eclipse后,點擊菜單欄的Window—>Preferences然后點擊Android,在SDK Location輸入SDK存放的位置,點擊Apply則會顯示現(xiàn)有的Android的模擬器版本,如圖2
48、-6所示。</p><p> 圖2-6 Eclipse配置</p><p><b> 2.4 應用環(huán)境</b></p><p> 基于Android的推箱子游戲適用于Android2.1及以上版本。</p><p> 第三章 游戲設計</p><p> 3.1 游戲需求分
49、析</p><p> 玩家是通過對小人的移動操作來控制推動箱子的,并且玩家需要避過障礙物以及死角,才能將其推放到指定位置從而達到過關的目的。如果玩家將箱子推入死角導致箱子無法移動或不能移動到指定位置則闖關失敗,可以通過退出操作進入菜單界面來重新挑戰(zhàn)游戲。</p><p> 游戲功能需求如下所示:</p><p> 游戲界面需求:簡潔美觀的用戶界面,可以帶給用戶
50、自然清晰的畫面。</p><p> 游戲情節(jié)需求:本游戲為輕量級的益智游戲,因此不存在很復雜的情節(jié)。這方面主要要做的工作是設計游戲各關倉庫的形狀、大小、可通過區(qū)域,以及各關中箱子的初始位置與目的地,移動中的箱子與終點上的箱子要所有區(qū)別,因此需要兩不同的圖片以示區(qū)別。</p><p> 鍵盤處理事件:控制小人與箱子的移動,通過鍵盤方向鍵(上、下、左、右鍵)對小人進行上、下、左、右的移動,
51、并且能夠推動箱子。</p><p> 顯示需求:當所有箱子都到達指定位置后即可過關,若進入死角則無法通過過關卡,需要進行退出操作從菜單界面來重新挑戰(zhàn)游戲。</p><p> 3.2 游戲設計 </p><p> 3.2.1 系統(tǒng)設計思想</p><p> 本次設計主要是設計一個能夠在Android手機上運行的推箱子游戲。根據(jù)一般玩
52、手機游戲的流程,玩家一般是先進入一個歡迎動畫界面,等待動畫結束或者直接點擊畫面后進入游戲的菜單界面,在菜單界面,玩家可以進行開始游戲、聲音開關、游戲說明、退出游戲操作,從菜單界面點擊開始游戲進入游戲界面開始游戲,在游戲界面里,玩家還可以退到菜單界面,本游戲軟件也將遵循該流程。</p><p> 3.2.2 游戲總體設計</p><p> 圖3-1 游戲總體設計</p>
53、;<p> 3.2.3 系統(tǒng)功能模塊設計</p><p> 本程序包括5個模塊,分別是初始化模塊、畫圖模塊、移動箱子模塊、移動小人模塊和音樂模塊,各個模塊的功能描述如下:</p><p> 初始化模塊。該模塊包括屏幕初始化和游戲第一關的初始化。屏幕初始化用于顯示歡迎動畫,游戲第一關的初始化是構建每一關的關卡。</p><p> 畫圖模塊。該模
54、塊主要是被其他模塊調用,用于畫墻、在空地畫箱子、在目的地畫箱子、畫小人和畫目的地。</p><p> 移動箱子模塊。該模塊用于移動箱子,包括目的地之間、空地之間和目的地與空地之間的箱子移動。</p><p> 移動小人模塊。該模塊用于控制小人的移動,從而推動箱子到達目的地。</p><p> 音樂模塊。該模塊為游戲提供背景音樂、小人推箱子的聲音和游戲勝利的聲音
55、。</p><p> 3.2.4 游戲的類框架設計</p><p> 表3-1 游戲的類框架</p><p> 3.2.5 算法的設計</p><p> 該游戲沒有涉及到復雜的算法設計,關鍵在于對地圖矩陣的操作。游戲中用一個MapList類操作地圖,其中有兩個三維數(shù)組記錄游戲地圖信息,一個三維數(shù)組表示第一層地圖即地板層,另一
56、個三維數(shù)組表示第二層地圖即建筑層,三維矩陣便于管理,如果要加入新關卡,只需要在三維矩陣中加入二維矩陣就可以了[11]。</p><p> 游戲過程中,最為主要的地方在于對地圖矩陣,以及小人狀態(tài)信息(包括位置、行走狀態(tài)等)的維護,小人每行走一步,就更新一次地圖信息和小人狀態(tài)信息。另外一個比較重要的地方是游戲狀態(tài)的保存方面[12]。為保存小人信息,特別開設了一個MySprite類,該類主要作用就是保存玩家每一步的游
57、戲狀態(tài),便于撤銷。</p><p> 邏輯判斷過程中,需要對地圖進行維護,主要是通過小人的移動位置進行更新的。</p><p> 小人每次移動時,四周的物體如下圖:</p><p> 圖3-2 主角四周物體</p><p> 當小人是在移動箱子時,箱子四周有以下幾種物體:</p><p> 圖3-3
58、 箱子四周物體</p><p> 第四章 游戲的實現(xiàn)</p><p> 4.1 歡迎界面的實現(xiàn)</p><p> 當玩家運行游戲時,首先看到歡迎界面,歡迎界面是整個游戲的門面。本游戲的歡迎動畫首先是木門打開如圖4-1,接著是鐵門打開如圖4-2,最后是墻打開如圖4-3,所有門打開后就會顯示一個有山有水的圖片如圖4-4。歡迎動畫界面是通過改變動畫線程中圖
59、片的變量值來改變圖片的位置。</p><p> 圖4-1 木門 圖4-2 鐵門</p><p> 圖4-3 墻 圖4-4 山水圖</p><p> 4.2 菜單界面的實現(xiàn)</p><p> 玩家在歡迎動畫界面需等待30秒方能進
60、入菜單界面,也可直接點擊屏幕進入菜單界面。菜單界面是由滾動的背景圖片、不動的背景圖片,和開始游戲、聲音開、聲音關、游戲說明、退出游戲圖片組成,如圖4-5所示。</p><p> 圖4-5 菜單界面</p><p> 4.2.1 開始游戲</p><p> 當玩家點擊開始游戲圖片即可進入游戲界面開始游戲,如圖4-6所示。</p><p
61、> 圖4-6 開始游戲</p><p> 4.2.2 聲音控制</p><p> 玩家進入菜單界面時背景聲音是開即顯示的是聲音開圖片,菜單界面的背景音樂會滾動播放,如果玩家想要關閉聲音,只需點擊聲音開圖片就會關閉聲音同時顯示聲音關圖片,如圖4-7所示。聲音狀態(tài)圖片是根據(jù)PushBoxActivity中的聲音狀態(tài)值進行繪制。</p><p> 圖
62、4-7 聲音控制</p><p> 4.2.3 游戲說明</p><p> 當玩家點擊游戲說明按鈕時玩家會進入游戲說明界面,如圖4-8所示,游戲說明界面是由一張說明圖片組成,背景設置為白色,玩家如果想要離開此界面只需點擊屏幕即可回到菜單界面。</p><p> 圖4-8 游戲說明</p><p> 4.2.4 退出游戲
63、</p><p> 當玩家點擊退出圖片時,會直接離開游戲到模擬器的主界面,如圖4-9所示。</p><p> 圖4-9 退出游戲</p><p> 4.3 游戲界面的實現(xiàn)</p><p> 游戲界面實現(xiàn)包括地圖類的實現(xiàn),角色類的實現(xiàn),鍵盤監(jiān)聽線程的實現(xiàn),角色移動線程的實現(xiàn)。</p><p> 當玩家將
64、箱子都推到指定的位置后本關游戲勝利,出現(xiàn)恭喜過關的圖片,點擊圖片進入下一關卡,如圖4-10所示。</p><p> 圖4-10 勝利進行下一關</p><p> 4.3.1 地圖類的實現(xiàn)</p><p> 該類中包含了兩個三維數(shù)組,一個三維數(shù)組表示第一層地圖即地板層,另一個三維數(shù)組表示第二層地圖即建筑層。三維數(shù)組中存儲著每個關卡的地圖,三維矩陣便于管理
65、,如果要加入新關卡,只需要在三維矩陣中加入一個二維矩陣就可以了。本游戲設計了兩個關卡。主要代碼是:</p><p> public static int map1[ ][ ][ ] = </p><p> {//第一層地圖,即地板層</p><p><b> {</b></p><p> {-1,-1,-1,1,
66、 0, 1, 0, 1,-1,-1,-1,-1,-1,-1},</p><p> {-1,-1,-1,0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},</p><p> {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 1},</p><p> {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
67、0, 1, 0},</p><p> {0, 1, 0, 1, 0, 3, 0, 1, 0, 1, 0, 1, 0, 1},</p><p> {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},</p><p> {0, 1, 0, 1, 0, 1, 0, 3, 0, 1, 0, 1, 0, 1},</p>&
68、lt;p> {1, 0, 3, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},</p><p> {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},</p><p> {1, 0, 3, 0, 1, 0, 1, 0, 1, 0, 1, 2, 1, 0},</p><p> {0, 1, 0, 1,
69、 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},</p><p> {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},</p><p> {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,-1,-1,-1},</p><p> {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,-
70、1,-1,-1}</p><p><b> },</b></p><p><b> {</b></p><p> {-1,-1,-1,1, 0, 1, 0, 1,-1,-1,-1,-1,-1,-1},</p><p> {-1,-1,-1,0, 1, 0, 1, 0, 1, 0, 1, 0,
71、 1, 0},</p><p> {0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 1, 0, 1},</p><p> {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},</p><p> {0, 1, 2, 3, 0, 1, 0, 1, 2, 1, 0, 1, 0, 1},</p><
72、;p> {1, 0, 1, 2, 1, 0, 1, 0, 3, 0, 1, 0, 1, 0},</p><p> {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},</p><p> {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},</p><p> {0, 1, 0, 1, 0
73、, 1, 0, 1, 0, 1, 0, 1, 0, 1},</p><p> {1, 0, 3, 0, 1, 0, 1, 0, 1, 0, 1, 2, 3, 0},</p><p> {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},</p><p> {1, 0, 1, 0, 1, 0, 1, 2, 1, 0, 1, 0,
74、 1, 0},</p><p> {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,-1,-1,-1},</p><p> {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,-1,-1,-1}</p><p><b> }</b></p><p><b> };<
75、;/b></p><p> public static int map2[ ][ ][ ] = </p><p><b> {//第二層地圖</b></p><p><b> {</b></p><p> {-1,-1,-1,2, 2, 2, 2, 2,-1,-1,-1,-1,-1
76、,-1},</p><p> {-1,-1,-1,2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2},</p><p> {2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2},</p><p> {2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2},</p><p
77、> {2, 0, 0, 0, 1, 0, 2, 0, 0, 2, 0, 0, 0, 2},</p><p> {2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 2},</p><p> {2, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 1, 0, 2},</p><p> {2, 0, 0, 0, 1,
78、2, 2, 0, 0, 0, 1, 0, 0, 2},</p><p> {2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 2, 0, 2},</p><p> {2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2},</p><p> {2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0
79、, 2},</p><p> {2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},</p><p> {2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2,-1,-1,-1},</p><p> {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-1,-1,-1}</p><p&
80、gt;<b> },</b></p><p><b> {</b></p><p> {-1,-1,-1,2, 2, 2, 2, 2,-1,-1,-1,-1,-1,-1},</p><p> {-1,-1,-1,2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2},</p><p&g
81、t; {2, 2, 2, 2, 0, 2, 0, 1, 0, 0, 0, 0, 0, 2},</p><p> {2, 0, 0, 0, 1, 0, 0, 0, 0, 2, 2, 2, 0, 2},</p><p> {2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 2, 0, 2},</p><p> {2, 0, 0, 0, 0, 0,
82、 0, 1, 0, 0, 0, 2, 1, 2},</p><p> {2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2},</p><p> {2, 0, 0, 0, 1, 2, 2, 2, 0, 0, 0, 0, 0, 2},</p><p> {2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0,
83、2},</p><p> {2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2},</p><p> {2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2},</p><p> {2, 0, 1, 0, 0, 1, 2, 0, 0, 0, 2, 2, 2, 2},</p><p&g
84、t; {2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,-1,-1,-1},</p><p> {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-1,-1,-1}</p><p><b> }</b></p><p><b> };</b></p><p>
85、 4.3.2 角色類的實現(xiàn)</p><p> 角色類對小人進行了封裝,記錄小人當前的位置、圖片和坐標以及狀態(tài)。將小人向上走路、向下走路、向左走路、向右走路、向上推箱子、向下推箱子、向左推箱子、向右推箱子的圖片ID放到數(shù)組中進行管理在構造器中根據(jù)小人當前的位置換算出當前實際坐標,設置自己封裝的繪制方法,根據(jù)小人的狀態(tài)進行繪制,若小人正在移動,直接繪制圖片,若小人靜止時,需要進行坐標修正然后再繪制圖片[13]。
86、主要代碼是:</p><p> public void drawMySelf(Canvas canvas, Paint paint){//繪制方法</p><p> if(this.isRun){</p><p> canvas.drawBitmap(man, X, Y, paint);</p><p><b> }<
87、/b></p><p><b> else{</b></p><p> X = pushBoxActivity.gameView.initX+36*j-15*i + 2;</p><p> Y = pushBoxActivity.gameView.initY+10*j+25*i - 25;</p><p>
88、 canvas.drawBitmap(man, X, Y, paint);</p><p><b> }</b></p><p><b> }</b></p><p> 4.3.3 鍵盤監(jiān)聽線程的實現(xiàn)</p><p> 鍵盤監(jiān)聽線程會定時檢測鍵盤的狀態(tài),然后根據(jù)狀態(tài)調用相應的處理。每次循
89、環(huán)需要休眠時間為150毫秒,當需要鍵盤監(jiān)聽時,判斷是推箱子還是走路,然后得到當前鍵盤狀態(tài)碼賦到action中,再對action進行處理判斷上、下、左、右鍵是否被按下。當上鍵被按下時,需要先判斷是否到界面的最上方,若到最上方將不會再往上,若沒到最上方時,會檢測上方是否有箱子,當箱子上方為空地時才可以移動箱子,再判斷是否為目的地,如果是目的地需要把箱子設為綠色,如果不是目的地直接移動即可[14]。在箱子移動時需要啟動箱子的移動線程,進行箱子
90、的移動,同時在移動過程中將鍵盤的監(jiān)聽標志位設為false,此時失去屏幕監(jiān)聽。下鍵、左鍵、右鍵同理。</p><p> 4.3.4 角色移動線程的實現(xiàn)</p><p> 角色移動線程給定初始位置和結束位置的行列,自動計算成實際坐標,然后分兩步移動,當距邊界較近時自動滾屏。當向上移動時需要先判斷是否可以向上走,如果可以移動小人,需要循環(huán)移動實際坐標,之后將是否移動標志位設置為false,
91、表示已經移動完成[15]。向下移動、向左移動、向右移動同理。</p><p> 第五章 軟件測試</p><p> 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試是軟件開發(fā)過程的重要組成部分,是用來確認一個程序的品質或性能是否符合開發(fā)之前所提出的一些要求。軟件測試就是在軟件投入運行前,對軟件需求分析、設計規(guī)格說明和編碼的最終復審,是軟件質量保證的關鍵步驟。在開發(fā)軟件系統(tǒng)的過程中
92、,需要面對錯綜復雜的問題,因此,在軟件生存周期的每個階段都不可避免地會產生錯誤。</p><p> 本系統(tǒng)的測試階段信息流程圖如圖5-1所示。</p><p> 圖5-1 測試階段流程圖</p><p> 5.1 測試方案及其執(zhí)行</p><p> 黑盒測試不是基于內部設計和代碼的任何知識,而是基于需求和功能性的測試,黑盒測試
93、又叫“功能測試”,它是已經知道產品應該具有的功能,通過測試來檢驗是否每個功能都能正常使用。</p><p> 白盒測試是指基于一個應用代碼的內部邏輯知識,即基于覆蓋全部代碼、分支、路徑、條件的測試,又叫“結構測試”,它知道產品的內部工作過程,可以通過來檢驗產品內部動作是否按照說明書的規(guī)定正常進行。</p><p> 本設計中,為了測試系統(tǒng)的功能是否都按要求實現(xiàn)了,采用黑盒測試方法。&l
94、t;/p><p><b> 5.2 測試步驟</b></p><p> 集成測試過程按4個步驟進行,即單元測試、集成測試、確認測試和系統(tǒng)測試。</p><p> 單元測試:開始是單元測試,集中對源代碼中實現(xiàn)的每一個程序單元進行測試,檢查各個程序模塊是否正確地實現(xiàn)了規(guī)定的功能。</p><p> 集成測試:集成測試把
95、已測試過的模塊組裝起來,主要對與設計相關的軟件體系結構的構造進行測試。</p><p> 確認測試:確認測試則是要檢查已實現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。</p><p> 系統(tǒng)測試:系統(tǒng)測試是把已經經過確認的軟件納入實際運行環(huán)境中,與其它系統(tǒng)成份組合在一起進行測試。 </p><p> 表5-1 系統(tǒng)測試記
96、錄</p><p><b> 5.3 本章小結</b></p><p> 本章主要介紹了軟件測試的知識和對系統(tǒng)進行測試的信息。隨著系統(tǒng)的開發(fā),分別系統(tǒng)進行了單元測試、集成測試、確認測試和系統(tǒng)測試。通過表格展示了系統(tǒng)的測試過程和實現(xiàn)的功能。還對測試過程中出現(xiàn)的問題進行了分析解決。</p><p><b> 第六章 總結&l
97、t;/b></p><p> 通過編寫本次畢業(yè)設計程序,我完成了基于Android的推箱子游戲的軟件開發(fā)任務。在些其間,我遇到了許多問題,如地圖文件的制作與讀取、游戲界面過大或者過小、游戲圖形的大小問題、小人與箱子的移動等等。不過,最終我都一一解決了相關問題,對其中比較主要的幾點體會總結如下:</p><p> 第一,為了熟悉推箱子游戲的相關運作,我經常在電腦游戲上運用推箱子游戲
98、,一步步地發(fā)現(xiàn)它擁有的功能,然后再思考與查閱資料進行分析,最后經過逐步的設計與反復的修改論證,才完成了整個游戲的開發(fā)。</p><p> 第二,完成了從“小到全”,從“全到精”的轉變。在設計的過程中,我經常會遇到一些困難,我也借此機會學會如何通過反復思考和測試找出自己的錯誤并加以改正,再進行下一個步驟的設計。本程序就是這樣一點一點的完成的,在這之后再來優(yōu)化整個程序。</p><p>
99、第三,本次設計也讓我得到一個不斷學習新鮮事物的機會,從設計初的諸多不懂到最后能夠順利完成,期間我體會到在實踐中學習的重要性,這對于將來我走上工作崗位具有重要意義。</p><p> 第四,通過畢業(yè)設計使我對Android加深了解,也對我今后的就業(yè)之路奠定了一定的基礎。</p><p> 經過這些日子的不斷努力,本次的畢業(yè)設計程序基本上完成了?;仡櫿麄€設計過程,我學到了許多書本上沒有學到
100、的知識。通過這次自己制作的軟件,豐富了自己的實踐技能,擴展了本專業(yè)的知識面,不僅使我受益匪淺,同時也體驗到了開發(fā)軟件開發(fā)的難度與不斷更新自己的重要性。由于我是初次涉及這類開發(fā)軟件,因此這其中或許還有很多的不足之處,在游戲界面不可以控制聲音開關,也不能重新開始游戲,玩家不能選擇關卡保存游戲等等。這也是我今后所要充實之處,在這里也懇請各位老師能夠對我的作品指明不足并加以改正。</p><p> 總體來說,這次畢業(yè)設
101、計收獲是頗豐的,這也是我在大學四年來完成的一個比較全面的實際例子。在這次設計的過程,我也查閱了大量的資料,對Android有了更加全面的認識,對于軟件工程這些輔助性的教材也鞏固了不少,也為我這次的畢業(yè)設計提供了很大的幫助,同時鍛煉并且增強了我這方面的能力。在今后的生活和工作中我會更好的發(fā)揮自己的優(yōu)勢,學好自己選擇的這項專業(yè)技術,讓自己在這條路上的明天會更好。</p><p><b> 參考文獻<
102、/b></p><p> [1]黨李成.基于Google Android智能手機平臺的研究與應用[D].安徽:安徽大學,2011.</p><p> [2]熊剛.基于Android的智能手機的設計與實現(xiàn)[D].武漢:武漢理工大學,2010.</p><p> [3]楊豐盛.Android應用開發(fā)解密[M].北京:機械工業(yè)出版社,2010,2-109.&l
103、t;/p><p> [4]馬越.Android的架構與應用[D].北京:中國地質大學,2008.</p><p> [5]靳巖,姚尚朗.Android開發(fā)入門與實戰(zhàn)[M].北京:人民郵電出版社,2009,200—230.</p><p> [6]Lauren Darcey,Schane Conder.Android移動開發(fā)一本就夠[Z].北京:人民郵電出版社,
104、 2011.</p><p> [7]E2ECloud工作室.深入淺出Google Android[Z].北京:人民郵電出版社,2009.</p><p> [8]百度百科.Ophone百科[EB/OL].http://baike.baidu.com/view/2410021.htm,2011-12-29.</p><p>
105、 [9]劉寶林.Java程序設計與案例[M].北京:高等教育出版社,2004,20—200.</p><p> [10]冀振燕,程虎.Java編譯程序技術與Java性能[J].軟件學報,2000,25(17):12-15.</p><p> [11]畢廣吉.Java程序設計實例教程[M].北京:水利水電出版社,2007,192—216.</p><p> [
106、12]郭宏志.Android應用開發(fā)詳解[M].北京:電子工業(yè)出版社,2010,405—425.</p><p> [13]李艷麗.Android時間處理過程剖析[J].長春理工大學學報,2010,33(3):45-52.</p><p> [14]張利國,代聞,龔海平.Android移動開放案例詳解[Z].北京:人民郵電出版社,2010.</p><p>
107、[15]余志龍,鄭名杰,陳小鳳等.Google Android SDK開發(fā)案例大全[M].北京:人民郵電出版社,2010,180-240.</p><p><b> 中文譯文</b></p><p> 面向Android手機的嵌入式代理模型</p><p><b> 摘 要</b></p><p
108、> 本文提出了一種“專門”為新的谷歌Android SDK設計的代理模型,在此模型下Android手機可以視為一種軟件代理。由于使用了能在不同系統(tǒng)上實施的抽象概念,這種代理模型具有比理論更實用的方法。Android是一個基于Linux的開放式系統(tǒng),它的出現(xiàn)已經為代理的實現(xiàn)創(chuàng)建了新的期望。這是一種在普適計算環(huán)境中實現(xiàn)嵌入式智能代理的有效方法,這種方法使代理可能運行在不同的硬件平臺上。這一設想可以被認為是一個真正的智能環(huán)境。<
109、/p><p> 關鍵詞:代理模型;嵌入式代理;谷歌Android</p><p><b> 引言</b></p><p> 技術在我們的生活環(huán)境中幾乎是無形的,因為它已經被安插在環(huán)境與提高人民生活質量的目標之間,用以創(chuàng)造一個智能環(huán)境,普適計算或者普及計算[9]就是這樣的范例[5]。在普適計算中,感知已成為我們社會的習慣性特征,通過網絡使所有的
110、固定或移動對象的類(嵌入式系統(tǒng))相互連接從而出現(xiàn)的電子設備。計算機技術已成為幾乎看不見的一個典范,它作為一個嵌入式計算機偽影的結果進入我們的日常生活中[6]。</p><p> 實現(xiàn)普適計算的方法之一就是嵌入智能代理。一個智能代理是擁有以下屬性:自治性,社會性,反應性和自發(fā)性的硬件或(更常見)基于軟件的計算機系統(tǒng)[12]。嵌入式計算機含有的這些代理通常被稱為嵌入式代理[11]。每個嵌入式代理是一個獨立的實體,這
111、樣的嵌入式代理通常允許他們作為多重嵌入代理系統(tǒng)的一部分通過網絡連接和其他的嵌入式代理溝通和合作。 然而,由于嵌入式計算硬件有限的處理能力和記憶能力,嵌入式應用的發(fā)展缺乏工具和標準化,所以我們面臨的挑戰(zhàn)是如何管理和實施這種嵌入式代理所使用的智能機制。通過這些挑戰(zhàn)和發(fā)現(xiàn)的其他問題[8],已檢測到在概念代理模式和實現(xiàn)或預期代理之間的顯著差異。</p><p> 今天,谷歌AndroidSDK的出現(xiàn)作為一個嵌入
112、式應用的開發(fā)平臺為手機創(chuàng)建了一個實施嵌入式智能代理的新方法。Android是一個開源的平臺,Android應用程序的開發(fā)是由一個新的Java庫(Java的Android庫)制作的,這個庫與個人電腦的Java密切相關(J2SE)[1]。此外,還存在這樣的可能性,Android Linux內核可以遷移到其他平臺或電子設備上,并允許這些代理在各種設備上執(zhí)行。</p><p> 總結,其基本思路是提出一種由組件或抽象概
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于android的推箱子游戲的設計畢業(yè)論文
- 基于android推箱子游戲的設計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文----基于單片機的推箱子游戲設計
- 畢業(yè)論文----基于單片機的推箱子游戲設計
- 【畢業(yè)設計論文】基于c語言推箱子游戲設計畢業(yè)論文
- 畢業(yè)設計(論文)基于單片機的推箱子游戲設計
- 基于j2me手機推箱子游戲的設計與實現(xiàn)[畢業(yè)論文]
- 推箱子問題的設計與實現(xiàn)---畢業(yè)論文
- 基于java的推箱子游戲
- 推箱子問題的設計與實現(xiàn)---畢業(yè)論文
- 基于java的推箱子游戲設計與實現(xiàn)
- 推箱子游戲課程設計
- 推箱子游戲課程設計
- 基于android的逃生游戲設計與實現(xiàn)-畢業(yè)論文
- 畢業(yè)論文-基于android的猜歌游戲
- 畢業(yè)論文--基于android的股票預測游戲
- java實現(xiàn)推箱子游戲
- 畢業(yè)論文--基于android平臺的beatplane游戲開發(fā)
- 畢業(yè)論文-- 基于android系統(tǒng)的股票預測游戲
- 推箱子小游戲1
評論
0/150
提交評論