畢業(yè)論文--安卓系統的拼圖游戲的設計與開發(fā)
《畢業(yè)論文--安卓系統的拼圖游戲的設計與開發(fā)》由會員分享,可在線閱讀,更多相關《畢業(yè)論文--安卓系統的拼圖游戲的設計與開發(fā)(40頁珍藏版)》請在裝配圖網上搜索。
本 科 畢 業(yè) 設 計題 目: 基于安卓系統的新圖游戲的設計與開發(fā)學生姓名: 學 號: 5014所屬學院: 計算機工程學院專業(yè)班級: 12 級計科一班指導教師: 職稱/學位: 講師完成時間: 2016 年 5 月 20 日安徽文達信息工程學院教務處制獨創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進行研究所取得的研究成果。除了文中特別加以標注引用的內容外,本論文不包含任何其他個人或集體已經發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。學生簽名: 日期:年月日論文版權使用授權書本人完全了解安徽文達信息工程學院有關保留、使用學位論文的規(guī)定,即:學校有權保留送交論文的復印件和磁盤,允許論文被查閱和借閱,可以采用影印、縮印或掃描等復制手段保存、匯編學位論文。同意安徽文達信息工程學院可以用不同方式在不同媒體上發(fā)表、傳播學位論文的全部或部分內容。(保密的學位論文在解密后應遵守此協議)學生簽名:日期: 年 月 日導師簽名: 日期: 年 月 日2016 屆計算機科學與技術專業(yè)畢業(yè)設計I摘 要隨著移動設備的日益普及,使用Android的手機軟件技術的發(fā)展是越來越多的人,在這樣的背景下,這個話題一直是手機游戲,Android平臺的益智拼圖的發(fā)展。首先,Android系統架構本文的研究背景,并介紹了開發(fā)環(huán)境,那么通過使用Android技術開發(fā)玩家的益智游戲分析的需求,游戲界面布局合理,使游戲更加美觀和人性化的界面,實現游戲的基本功能,最終為玩家享受拼圖的樂趣。Android系統對第三方軟件是開放的,這促進了第三方軟件的發(fā)展。Android系統以Linux 2.6為核心,其安全機制比較完善,增強了手機使用的安全性。Android平臺已經形成由 Google牽頭,OHA組織參與,系統支持商和服務供應商完善搭配的運作機制,為Android平臺的快速發(fā)展提供了堅實的基礎。由于Android構建在開源代碼的框架之上,并且提供了強大的SDK庫和開放的理念,所以它為廣大的沒有任何移動應用程序開發(fā)經驗的新手開辟了一條開發(fā)完美移動應用程序的康莊大道。而富有經驗的移動開發(fā)人員現在也可以方便地擴展到Android平臺上來,利用它獨特的功能來改進現有產品或者開發(fā)其他新穎產品。Android軟件在一兩年的時間內已經迅速發(fā)展,在各類型應用系統中都有令用戶滿意的成果,本課題研究的就是基于此背景下Android手機的一款益智拼圖游戲。通過該游戲的設計,將自己學到的Java,Android方面的理論知識應用于實踐,提高自己的動手能力。在設計的過程中,不斷的修補知識方面的漏洞,加深自己對程序設計的理解,為將來從事軟件開發(fā)事業(yè)打下基礎。關鍵詞:Android;拼圖游戲;Activity;框架丁夢茹:基于安卓系統的拼圖游戲的設計與實現II2016 屆計算機科學與技術專業(yè)畢業(yè)設計IIAbstractWith the rising popularity of mobile devices, the use of Android mobile phone softwaretechnology development is more and more people, in this context, this topic has always been a cell phone game, the development of the Android platform of educational puzzles.First of all, the Android system architecture in this paper, The Android platform has been formed, led by Google, smaller companies organizations to participate in, system support, and service providers to improve the operation mechanism of collocation, and provides a powerful SDK library and an open concept, so it doesn't have any mobile application development experience for the majority of the new opened up a perfect mobile application development for the road ahead.And rich experience in mobile developers now can also be easily extended to the Android platform, using its unique function to improve existing products or to develop other new products.career in software development in the future.With the rising popularity of mobile devices, the use of Android mobile phone software technology development is more and more people, and introduced the development environment, then through the use of Android technology the demand of the development of educational game analysis, the game interface layout is reasonable, make the game more beautiful and humanized interface, realize the basic functions of the game, eventually for players to enjoy the pleasure of the puzzle.Android is open for third-party software, it will promote the development of third party software.Android Linux 2.6 as the core,smaller companies organizations to participate in, system support, and service providers to improve the operation mechanism of collocation, for the rapid development of the Android platform provides a solid foundation.Because the Android build on open source framework, and provides a powerful SDK library and an open concept, in all kinds of application systems have user satisfaction results, under the background of this research is based on the Android mobile phone, a puzzle puzzle game.Through the design of the game, to learn Java, Android in terms of theoretical knowledge into practice, improve their ability.In the process of design, continuous repair knowledge, deepen their understanding of the program design, lays the foundation for a career in software development in the future.Key Words :Android; puzzle game; Activity; sturcture2016 屆計算機科學與技術專業(yè)畢業(yè)設計III目錄摘 要 IAbstract.II1 引 言 11.1 課題開發(fā)的背景 11.1 課題研究現狀 11.2 課題意義 22 安裝環(huán)境 .32.1 Android 的系統架構 .32.1.1 應用程序 32.1.2 應用程序框架 32.3 系統運行庫 .42.4 Window 下 Android 開發(fā)環(huán)境的搭建 53 流程概要 .73.1 游戲流程介紹 .73.2 系統概要設計 .83.2.1 界面布局模塊 83.2.2 難度選擇模塊 83.2.3 圖片選擇模塊 .93.2.4 步數和時間模塊 93.2.5 游戲實現模塊 94 設計與實現 104.1 界面布局實現 104.1.1 Logo 界面布局 .104.1.2 游戲界面布局 .122016 屆計算機科學與技術專業(yè)畢業(yè)設計IV4.2 游戲功能實現 134.2.1 開始游戲 .134.2.2 游戲設置 154.2.3 積分排名 .174.2.4 游戲關于 184.2.5 游戲幫助 194.2.6 退出游戲 214.2.7 步數和時間設置 .225 系統測試 235.1 Android 模擬器—— 夜神 235.1.1 功能簡介 .235.1.2 性能特點 235.1.3 AMD CPU 深度優(yōu)化 235.1.4 獨家兼容 win10 .245.1.5 屏幕錄制 .245.2 Android 仿真器介紹 245.3 出現的錯誤及解決方案 27參考文獻 .29致 謝 .302016 屆計算機科學與技術專業(yè)畢業(yè)設計11 引 言1.1 課題開發(fā)的背景手持終端也隨著嵌入式技術的飛速發(fā)展而發(fā)展,目前,全球手機用戶比PC用戶,包括增加智能手機。智能手機的速度就像一臺計算機可以下載并安裝到基本功能的開發(fā)手機軟件,并且通常有一個智能手機,它更強大,更快的處理速度。基于Linux system.Com Android手機操作系統相比智能手機操作系統,因為開源的特性,自由,通過支持迅速球迷和制造商的質量。目前,在手機游戲開發(fā)手機應用程序是一個非常流行的技術。Android是開放給第三方軟件,這將促進第三方軟件。Android的Linux 2.6的開發(fā)為核心的安全機制的完善,促進了移動電話的使用。已經形成了Android平臺的安全性,由谷歌主導的,規(guī)模較小的組織參與該公司的系統支持和服務供應商提高搭配的運行機制,為Android平臺的快速發(fā)展提供了堅實的基礎。由于基于Android的開源框架,并提供了一個功能強大的SDK庫和開放的概念,所以它不是為廣大新開辟了任何移動應用開發(fā)經驗領先于一個完美的移動應用程序的發(fā)展道路。和豐富的經驗移動開發(fā)者現在也可以很容易地擴展到Android平臺,利用其獨特的功能,改進現有產品或開發(fā)其他新產品。1.1 課題研究現狀Android 版的“機器人”一詞的本義,而谷歌在 2007 年 11 月 5 日,基于 Linux平臺的開源手機操作系統的名稱,該平臺和操作系統,中間件,用戶界面和應用軟件。這個詞的鉛最早出現在法國作家亞當(奧古斯特威利,DE 我'島 - 亞當)出版于1886 年,“EVE”未來科幻(L'在 future.He 前夕)看起來像一個名為 Android 的男人-machine。在 Android 的最新版本是 4.2 果凍,中國的名稱為“果凍豆”,該系統的是Android 4.0×冰(冰激凌三明治)的“三明治”的 Android 版的“機器人”一詞的本義,而谷歌在 2007 年 11 月 5 日,基于 Linux 平臺的開源手機操作系統的名稱,該平臺和操作系統中間件,用戶界和應用軟件。 5.0 升級代碼“鍵酸橙派(酸橙派)” 。在 2013 年,今年的谷歌 I / O 大會上,來自谷歌地圖 API,并在 Android 手機年底全面的系統升級了 Android Studio 開發(fā)工具的游戲,這使得 Android 和 iOS 的整體趕丁夢茹:基于安卓系統的拼圖游戲的設計與實現2超的相對較弱的部分之前。而 Android 版本:Android 的,具有兩個內部第一個測試版,并在其前名為著名的機器人,它們分別是:鐵臂阿童木(Android 測試版),卷取機器人(Android 版本 1.0)由于版權 problems.Later,谷歌它會改變命名規(guī)則甜點作為它們系統代碼命名的方法。一個名為 Android 版本 1.5 的甜品,作為甜點的代表,每個版本的尺寸越來越大,再根據 26 個字母的順序:鐵臂阿童木(AndroidBeta)發(fā)條機器人(Android 的 1.0),發(fā)布了 2008 年 9 月。蛋糕(Android 1.5 的)蛋糕,2009 年甜甜圈甜甜圈(Android 1.6 的),于 2009 年 9 月 15 日公布。松餅(2.0 / 2.1)Android 的??巳R爾,發(fā)表于 2009 年 10 月 26 日。冷凍酸奶的 Android(Android 2.2 的),發(fā)表于 2010 年 5 月 20 日。姜餅(Android 2.3 的)姜餅,于 2010 年 12 月 7 日發(fā)布。蜂巢(Android 3.0 的)蜂窩,于 2011 年 2 月 2 日公布。冰淇淋三明治(Android 4.0 版本)的冰淇淋三明治,在香港出版于 2011 年 10月 19 日。果凍豆(果凍豆,Android 4.1 及 Android4.2)糖豆,于 2012 年 6 月 28 日發(fā)布的 Android 4.2 果凍豆:發(fā)布于 2012 年 10 月 30 日。對于基于 Android 系統的即時通訊軟件,是國內著名的軟件 QQ(Android 版),WeChat.More 著名國外有 MSN,LINE ME 等。1.2 課題意義Android 軟件得到了快速發(fā)展在一兩年的時間,各種應用系統已經在用戶滿意度調查結果,這項研究的背景下,基于 Android 的手機,一個益智解謎游戲,通過游戲的設計,學習 Java,Android 的理論知識的實踐,提高自己的能力。在設計中,連續(xù)保養(yǎng)知識的過程中,深化方案設計的理解,奠定了事業(yè)在未來的軟件開發(fā)奠定了基礎。隨著網絡技術和普及的發(fā)展,方便,快捷,個性化消費已成為當前管理較為流行的一種管理會計的,它的存在和我們的生活密不可分。通過 Android 軟件的設計,可以使自己的發(fā)展和 Android 的基本知識的發(fā)展,可以鍛煉自己的能力通過實踐,學會自主學習不熟悉的領域,如何完成一個項目。2016 屆計算機科學與技術專業(yè)畢業(yè)設計3如何獲得在實際使用中的節(jié)目。同時,通過這樣的設計也可以開發(fā)新知識的獲取與處理,文件,文檔閱讀和翻譯能力,分析和解決問題的能力。書面總結的大學四年學習的知識為自己,也為培養(yǎng)他們的毅力和品質,以及未來職業(yè)發(fā)展和良好的生活習慣。2 安裝環(huán)境2.1 Android 的系統架構Android 系統架構和其操作系統,一個分層架構是 adopted.As 你可以從圖2.1,Android 是分為四層,從上到下應用層,應用框架層運行時,系統層和內核看看。圖 2.1: Android 系統框架圖2.1.1 應用程序Android 的發(fā)布了一系列核心應用程序包,應用程序包包括一個電子郵件客戶端,SMS 短消息應用程序,日歷,地圖,瀏覽器,聯系人管理程序,增添許多應用程序都是用 Java 語言。 丁夢茹:基于安卓系統的拼圖游戲的設計與實現42.1.2 應用程序框架開發(fā)人員還可以通過建筑設計的應用程序通過的完全訪問應用程序使用的核心框架 API 來簡化組件的重用;任何應用程序都可以發(fā)布它的功能塊和任何其他應用程序可以使用發(fā)布功能塊(但必須遵循的安全限制)。也,應用程序重用機制的框架內,用戶可以容易地更換零件。隱藏在每個應用程序的后面是一系列的服務和系統,包括;豐富和可擴展的視圖(Views):可用于構建應用程序,它包括一個列表(lists),網格(grids),文本框(text boxes),按鈕(buttons),或者甚至嵌入在 web 瀏覽器。內容提供者(Content Providers):從另一個應用程序允許(例如,聯系人數據庫)訪問數據,或共享他們自己的數據的應用程序。資源管理器(Resource Manager):提供了訪問代碼資源,如本地字符串,圖形,和布局文件(layout files)。通知管理器(Notification Manager):允許在狀態(tài)欄,定制的電子郵件應用程序中顯示的信息?;顒庸芾砥鳎ˋctivity Manager):用于管理應用程序生命周期并提供常用的導航回功能。2.3 系統運行庫(1)庫Android 包含一些 C / C ++庫,這些庫可以通過在 Android system.They 的不同組成部分,通過對開發(fā) Android 應用程序框架用于提供 services.Here 是一些核心庫:系統 C 庫:一個 BSD 標準 C 庫系統(libc 中)繼承的,它是專為基于嵌入式Linux 的定制設備。媒體庫:基于 PacketVideo 的 OpenCore,該庫支持多種常用的音頻和視頻播放和錄制格式,同時支持靜態(tài)圖像 file.Including 的 MPEG4 編碼格式,H。 264,支持MP3,AAC,AMR,JPG,PNG。2016 屆計算機科學與技術專業(yè)畢業(yè)設計5表面經理:顯示子系統的管理,并提供 2 2D 和 3D 圖層的無縫集成多個應用程序。LibWebCore:一個新的 Web 瀏覽器引擎,為 Android 瀏覽器的支持,并且可以嵌入在 Web 視圖。SGL:在 2 天的圖形引擎的底部。3 天庫:基于 OpenGL ES 1.0 API 的實現;該庫可以使用三維硬件加速功能(如果可用)或者使用高度優(yōu)化的軟加速的 3 天。用于 FreeType:位圖(位圖)和矢量(矢量)字體顯示。SQLite 的:一個是對所有應用程序可用,功能強勁的輕型關系數據庫引擎。(2)Android 的運行時間Android 包括一個核心庫,核心庫提供了核心庫的 JAVA 編程語言最作用。每一個 Android 應用程序在自己的進程中運行,有 Dalvik 虛擬 machine.Dalvik的一個單獨的實例被設計成一個設備可以同時 efficiently.Dalvik 虛擬機實現運行多個虛擬系統。 (DEX)的 Dalvik 可執(zhí)行文件,該格式文件已鑒于小存儲器 use.(3)Virtual 機Virtual 機是根據在同一時間寄存器的優(yōu)化,所有類通過 Java 編譯器,然后通過SDK 工具為“DX” 。塞米松格式由虛擬機執(zhí)行。Dalvik 虛擬機依賴于一些 Linux 內核的功能,如在線程和底層內存管理機制。(4)在 Linux 內核的 Android 系統服務的核心依賴于 Linux 2.6 內核,如安全性,內存管理,進程管理,網絡協議棧和驅動器 model.The Linux 內核也作為硬件和軟件棧之間的抽象層。內容提供者(內容會):允許從另一應用(例如,聯系人數據庫)訪問數據,或共享他們自己的數據的應用程序。資源管理器(資源管理器):提供代碼資源的訪問,如本地字符串,圖形,和布局文件(布局文件)。通知管理器(通知管理器):允許顯示在狀態(tài)欄自定義郵件信息的應用程序。活動管理器(活動管理):用于管理應用程序生命周期并提供常用的導航回功能。丁夢茹:基于安卓系統的拼圖游戲的設計與實現62.4 Window 下 Android 開發(fā)環(huán)境的搭建為了讓 Android 開發(fā)環(huán)境中的 PC 主機,我們對 Android 開發(fā)環(huán)境建設的Windows 操作系統選擇,具體操作步驟如下:JDK 的安裝下載 JDK,根據提示,安裝后的成功,是對環(huán)境變量配置最重要的事情,步驟如下:我的電腦 - 屬性 - 高級 - 環(huán)境變量 - 系統中添加以下環(huán)境變量:JAVA_HOME 值是:C:\ Program Files 文件\的 Java \ jdk1.6.0 _20(JDK 安裝目錄)CLASSPATH 中值為:;%JAVA_HOME%的 lib \工具。罐;在%JAVA_HOME%\ LIB \ DT。罐; Java 的_home%%\ bin 中;路徑值:C:\ Program Files 文件\的 Java \ jdk1.6.0 _20 \ bin 中。(2)你可以下載 Eclipse Eclipse 安裝的綠色版,無需安裝,并安裝了 Android開發(fā)提供功能的版本。(3)安裝在 Android 開發(fā) Android SDK 的下載 Android - sdk_r07 - Windows 操作系統。壓縮和解壓到任意路徑下載完成后。運行 SDK 管理器。 EXE,出現如圖所示的界面如下,點擊可 Package.Choose 安裝SDK 及其文檔或者其它包,點擊安裝時選擇上,全部接受,接受安裝,開始下載并安裝選擇的包。之后,下載完成后如下圖所有的 Android - sdk_r07 - Windows 文件夾中的內容;(4)安裝 ADTADT 實際上是一個工具,它可以連接 SDK 和 Eclipse,幫助找到 SDK 打開 Eclipse Eclipse 的界面,進入“幫助”菜單 - “安裝新軟件”,點擊即可進入所需的添加按鈕,彈出對話框名稱和位置,成品,選擇 Window在左窗格中 Preferences.Android選中,然后在右側點擊瀏覽,并選擇了 SDK 的路徑,這臺機器; D:\ YJSH \ Android的\ Android 的 - sdk_r07 - 視窗;單擊應用,OK.Configuration 就完成了。(5)建立的 AVD為了使 Android 應用程序可以在模擬器上運行,必須創(chuàng)建 AVD,步驟如下:在 Eclipse 中,選擇 Windows Android SDK 和 AVD 管理器,單擊虛擬設備的左側面板上,再次右鍵單擊新建,填寫名稱,選擇目標 API,任何 SD 卡大小,皮膚隨機選擇,硬件目前在默認值,單擊創(chuàng)建 AVD CreateAVD 可以完成。2016 屆計算機科學與技術專業(yè)畢業(yè)設計73 流程概要3.1 游戲流程介紹根據拼圖游戲的游戲規(guī)則,本設計擬出游戲的大致流程如圖 3.1 所示:丁夢茹:基于安卓系統的拼圖游戲的設計與實現8點擊 “ 益智拼圖 ”點擊下拉列表 ,完成難度選擇點擊圖片框中的一張圖片點擊 “ 確定 ”進入選擇界面進入游戲界面點擊 p l a y 按鈕 ,時間開始計時點擊圖塊并拖動每拖一次 , 步數加 1圖片拼成原樣 ,游戲結束已進入已進入游戲失敗未進入選擇界面未進入游戲界面圖 3.1: 拼圖游戲流程圖3.2 系統概要設計本設計參考了拼圖游戲流程圖(圖 3.1)按照自頂向下的設計方式將拼圖游戲分為以下模塊進行設計,如圖 3.2 所示:2016 屆計算機科學與技術專業(yè)畢業(yè)設計9益智拼圖游戲難度選擇模塊 步數 , 時間設置模塊圖片選擇模塊游戲實現模塊 界面布局模塊 游戲功能模塊圖 3.2: 拼圖游戲模塊3.2.1 界面布局模塊由于這個話題的主題是一個游戲,游戲的界面,并且有必要介紹一些基本的控制.這系統有兩個接口:一個選擇界面,游戲的界面,基本控件有文本框,下拉列表,網格視圖,按鈕,圖片瀏覽等盤符,以下簡單介紹其功能:文本框主要用來顯示一些文本,文本被基本上描述的位置,其中,文本框的功能。下拉列表主要用于困難的選擇,當玩家點擊的難度,會出現一個下拉列表。網格視圖主要用于圖像選擇,使用網格視圖會列出圖片,圖片供玩家選擇。巴頓是在這兩個接口連接集線器,按下確認鍵,在第一個選擇屏幕會跳轉到游戲接口.也成立了一個按鈕,在游戲界面,主要是給玩家機會,“游戲”。圖片視圖只要用來顯示圖片,在游戲界面用圖片視圖顯示圖片,供玩家游戲。3.2.2 難度選擇模塊拼圖游戲的難度在于圖片被分割后的塊數,數量越多,自然難度就越大。(1)難度最小的是將其設置為 3*3 當難度設置為 3*3 時,系統將圖片分割為 3 行 3 列,也就是將圖片分成了 9 塊。(2)難度中等的是將其設置為 4*4當難度設置為 4*4 時,系統將圖片分割成 4 行 4 列,也就是將圖片分成了 16 塊。(3)難度最大的是:5*5當難度設置為 5*5 時,系統將圖片分割成 5 行 5 列,也就是將圖片分成了 25 塊。丁夢茹:基于安卓系統的拼圖游戲的設計與實現103.2.3 圖片選擇模塊圖像選擇步驟相當簡單,只要在界面選擇區(qū)域的圖像,從鼠標點擊 1 感興趣的玩家照片 9 張圖片。3.2.4 步數和時間模塊拼圖過程中,為了通過提高利率,玩家每一個移動的身影塊數加 1,知道所有的游戲地位的權利,游戲,統計數據的最后步驟,開始游戲,時間模塊起始時間,直到比賽結束,時間停止,并顯示玩家完成所花費的游戲時間。3.2.5 游戲實現模塊在上述圖像選擇完成后,艱難的抉擇后,就可以開始正式的拼圖。玩家在圖像上單擊,圖像會根據玩家的難度選擇隨機出現.在這樣的設計,右下角后,原始圖像分割設置為空白塊,移動塊使用鼠標單擊空白 一片相鄰塊的,所選圖像一張空白的阻力,從而完成坯件與互換選擇的照片。這樣的循環(huán),知道所有的正確數字塊位置,游戲就結束了。2016 屆計算機科學與技術專業(yè)畢業(yè)設計114 設計與實現4.1 界面布局實現本設計有兩個界面:選擇界面和游戲界面。界面的設計主要運用 Android 的繪圖技術,圖形的繪制通常是在 View 類中完成的,同時也會用到各種控件,如:TextView,Button,Spinner,GridView,ImageView。當然說到控件,容器就不得不提了,兩者是息息相關的。本設計中用到了最常用的 LinearLayout 容器,控件的布局也用到了相對布局,絕對布局等。4.1.1 Logo 界面布局選擇界面在 logo.xml 文件中布局,界面效果如圖 4.1.1 :圖 4.1.1: logo 界面該界面采用 LinearLayout 布局,在 LinearLayout 標簽中完成界面設置。丁夢茹:基于安卓系統的拼圖游戲的設計與實現121)進入游戲首先是一個向用戶展示的一個 Logo 界面;2)此圖片所顯示的動態(tài)效果,通過一“由小到大”的漸變動畫來實現;3)Logo 界面顯示后,延時跳轉到主頁面 MainActivity。布局設置:設置布局排列方式為豎直排列,寬和高的值為填滿,背景顏色為粉紫色。下面給出構成該界面的一些基本控件的代碼說明:設置文本框的高和寬根據內容調整,文本內容從 values 文件夾中的 strings.xml文件中讀取,內容為“等級”:android:layout_width=“wrap_content“android:layout_height=“wrap_content“android:text=“@string/level“style=“@style/font_20_white_bold“/設置下拉列表的高和寬根據內容調整:android:layout_width=“wrap_content“android:layout_height=“wrap_content“設置文本框高根據內容調整,寬為填滿,文本內容取自 values 文件夾下strings.xml 文件,內容為選擇圖片區(qū):android:layout_width=“fill_parent“android:layout_height=“wrap_content“android:text=“@string/selectPictureArea“style=“@style/font_20_white_bold“android:background=“@color/slateGray“設置網格視圖寬和高為填滿: android:layout_width=“fill_parent“android:layout_height=“fill_parent“設置按鈕屬性,寬和高為根據內容調整,按鈕內容取自 values 文件夾的strings.xml 文件,內容為“確定”:android:layout_width=“wrap_content“android:layout_height=“wrap_content“android:text=“@string/confirm“style=“@style/btn_font_17_black“2016 屆計算機科學與技術專業(yè)畢業(yè)設計13android:layout_gravity=“center”4.1.2 游戲界面布局該界面同樣采用 LinearLayout 布局,在 LinearLayout 標簽中進行基本設置。拼圖游戲的主頁面,有六個按鈕,分別為:開始游戲、游戲設置、積分排名、游戲關于、游戲幫助、退出游戲。通過點擊這六個按鈕可以分別進入各個功能頁面。布局設置:高和寬為填滿,排列方式為豎直排列,背景圖片 bj。游戲界面在 activity_main.xml 文件中布局,界面效果如圖 4.1.2:圖 4.1.2: 游戲界面丁夢茹:基于安卓系統的拼圖游戲的設計與實現144.2 游戲功能實現游戲代碼具體操作過程如下:游戲開始時,開始 LogoActivity,然后裝入標識。該 XML 初始化梯度界面,然后進入主頁,在主頁的拼圖游戲,有六個按鈕,分別是:開始游戲,游戲設定,排名,關于游戲中,幫助,退出游戲.通過點擊 6 按鈕進入各功能的頁面.然后根據游戲的界面上的內容。4.2.1 開始游戲點擊開始游戲就會進入拼圖的頁面,使用 ViewPager 可以繞滑動實現,選擇人物的數量的游戲背景,點擊圖片可以顯示在任意位置當前選中的水平,并可以選擇緩解:簡單的 3 X3,難度中等 4 X4,5X5,等級進入拼圖比賽結束后進行選擇,如圖所示:圖 4.2.1: 選擇等級界面2016 屆計算機科學與技術專業(yè)畢業(yè)設計15實現代碼如下所示:gallery.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView parent, View view,final int position/* 畫廊圖片的游標 */, long id) {Builder builder = new AlertDialog.Builder(GameActivityShow.this);builder.setTitle(“你選擇了第“ + (position + 1) + “關“);// 標題builder.setMessage(“選擇難度“);// 文本內容builder.setPositiveButton(“簡單“,new AlertDialog.OnClickListener() {public void onClick(DialogInterface dialog,int which) {selectGameImg(3, imageIds[position]);}});builder.setNegativeButton(“困難“,new AlertDialog.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {selectGameImg(5, imageIds[position]);}});builder.setNeutralButton(“中等“, new OnClickListener() {@Override丁夢茹:基于安卓系統的拼圖游戲的設計與實現16public void onClick(DialogInterface dialog, int which) {selectGameImg(4, imageIds[position]);}});builder.show();// 展示}private void selectGameImg(int i, int id) {// 簡單 3 中等4 困難 5 id 圖片 idIntent intent = new Intent();intent.putExtra(“l(fā)evel“, i);// 傳值intent.putExtra(“picId“, id);intent.setClass(GameActivityShow.this, GamePlay.class);// 頁面挑戰(zhàn)GameActivityShow.this.startActivity(intent);// 開啟GameActivityShow.this.finish();// 刷新}4.2.2 游戲設置1)最上方是一個 TextView,內容為“聲音狀態(tài)”:后面是一個 ImageView 為顯示聲音狀態(tài),2)在 TextView 下方設置一個 ToogleButton,ImageView 下方有兩個 ImageView分別用來表示聲音的打開和關閉狀態(tài),當關閉的 ImageView 被選中 ToogleButton 內容為開啟聲音,當聲音打開 ToogleButton 則顯示關閉聲音。3)在 ToogleButton 下方設置一個 TextView,內容為“增大/減小音量”,右邊設置了兩個 ImageButton,分別用來表示增大減小音量,下方為一個橫向的進度條ProgressBar,在其下方下方設置一個 TextView,內容為“音量顯示”。4)布局的最下方為三個 Button,分別為:停止、播放、返回。如圖所示:2016 屆計算機科學與技術專業(yè)畢業(yè)設計17圖 4.2.2: 游戲設置界面相應設置的代碼如下所示:public Button audioState = null;// 聲音是否開啟public Button audioOff = null;// 關閉聲音public Button audioOn = null;// 開啟聲音public Button audioUp = null;// 加大聲音public Button audioDown = null;// 降低public Button delete = null;// 停止音樂public Button play = null;// 播放音樂public Button back = null;// 返回界面public SeekBar seekBar = null;// 聲音進度條public TextView off_on_tv = null;public static int count = 0;// seekbar 的進度控制public static int current = 0;// 顯示 seekbar 的進度狀態(tài)// 聲音的狀態(tài)audioDown = (Button) this.findViewById(R.id.audio_btn4);// 減小聲音丁夢茹:基于安卓系統的拼圖游戲的設計與實現18audioUp = (Button) this.findViewById(R.id.audio_btn5);// 增大聲音seekBar.setMax(maxAudio);// 將 seekbar 的最大值設置為與音量的最大值一樣2016 屆計算機科學與技術專業(yè)畢業(yè)設計19seekBar.setProgress(currentAudio);// 將 seekbar 的當前值設置與音量一樣maxAudio = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); // 最大音量currentAudio = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);// 當前音量seekBar.setMax(maxAudio);// 將 seekbar 的最大值設置為與音量的最大值一樣seekBar.setProgress(currentAudio);// 將 seekbar 的當前值設置與音量一樣4.2.3 積分排名布局里是一個 ExpandableListView,item 為低難度、標準、高難度,點擊三個item 會分別在它們下方顯示:名次、時間、步數、姓名。如圖所示:圖 4.2.3: 積分排名界面相應代碼如下所示://根據不同的等級進行選擇添加數據的子欄目if (level==3) {Map maps = tableAdapter.children丁夢茹:基于安卓系統的拼圖游戲的設計與實現20.get(0);// 獲取子分組的 id,以便將數據添加到里面maps.put(maps.size(), string);}else if (level==4) {Map maps = tableAdapter.children.get(1);// 獲取子分組的 id,以便將數據添加到里面Map maps = tableAdapter.children.get(2);// 獲取子分組的 id,以便將數據添加到里面tableAdapter.notifyDataSetChanged();// 刷新系統,有了這句才會在輸入之后立馬看到變化4.2.4 游戲關于關于游戲的設置在 MainActivity 調用 AlertDialogBuilder 中的 Builder 來獲得“版權所有”的頁面,用 setIcon 方法設置圖片,用 setTitle 設置標題以及用setMessage 聲明內容,用 setPositiveButton 方法設置“確認”用來關閉該頁面。如圖所示:圖 4.2.4: 游戲關于界面相應代碼如下:2016 屆計算機科學與技術專業(yè)畢業(yè)設計214.2.5 游戲幫助該頁面主要是對游戲的基本操作的一些詳細說明:1.點擊開始游戲 2.選擇圖片 3.選擇難易級別 4.當您完成一次拼圖后,會以動畫的形式顯示您執(zhí)行的步驟。如下圖所示:圖 4.2.5 :游戲幫助界面 相應代碼如下所示:public class ListAdapter extends BaseExpandableListAdapter {private Context mContext = null;// 測試數據,開發(fā)時可能來自數據庫,網絡private String[] groups = { “基本操作“, “說明“ };private String[] child1 = { “1、點擊開始游戲\n2、選擇圖片\n3、選擇難度級別\n4、當您完成一次拼圖后,可以動畫形式顯示您執(zhí)行的步驟“ };丁夢茹:基于安卓系統的拼圖游戲的設計與實現22private String[] child2= { “說明“,“拼圖游戲分為簡單、標準、困難三個等級,你可以通過選擇等級來選擇游戲的游戲程度“,““ };//使用集合類進行數據的存放private List groupList = null;private List itemList = null;//自己寫一個構造器用來初始化對象public ListAdapter(Context context) {this.mContext = context;groupList = new ArrayList();itemList = new ArrayList();initData();}// 獲取子節(jié)點要顯示的名稱String name = (String) itemList.get(groupPosition).get(childPosition);// 設置文本視圖的相關屬性@SuppressWarnings(“deprecation“)AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 200);text.setLayoutParams(lp);text.setTextSize(18);//設置字體大小text.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);text.setPadding(45, 0, 0, 0);//四周的距離text.setText(name);//裝入內容return text;/** 判斷分組是否為空,本示例中數據是固定的,所以不會為空,我們返回false * 如果數據來自數據庫、網絡時,可以把判斷邏輯寫到這個方法中,如果為空* 時返回 true- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 畢業(yè)論文 系統 拼圖游戲 設計 開發(fā)
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://ioszen.com/p-476641.html