畢業(yè)論文-基于Android數(shù)獨游戲開發(fā)界面設計_第1頁
畢業(yè)論文-基于Android數(shù)獨游戲開發(fā)界面設計_第2頁
畢業(yè)論文-基于Android數(shù)獨游戲開發(fā)界面設計_第3頁
畢業(yè)論文-基于Android數(shù)獨游戲開發(fā)界面設計_第4頁
畢業(yè)論文-基于Android數(shù)獨游戲開發(fā)界面設計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、分類號 密級 (宋體小五號)UDC 畢 業(yè) 論 文基于Android數(shù)獨游戲開發(fā)界面設計 學生姓名 XXX 學號 XXXXXXXXXX 指導教師 XXXX 系 、中心 信息工程系 專 業(yè) XXXXX 年級 200X級 論文答辯日期 2012 年 5 月 16 日 XXX大學摘 要隨著android系統(tǒng)的出現(xiàn)和流行,越來越多的手機用戶將目光轉向android系統(tǒng),android系統(tǒng)是一種以Linux為基礎的開放源代碼的操作系統(tǒng)。Android的系統(tǒng)架構和其它操作系統(tǒng)一樣,采用了分層的架構,android分為四層,從高層到低層分別是應用程序?qū)?、應用程序框架層、系統(tǒng)運行庫層和linux核心層。本論文

2、主要闡述了以面向?qū)ο蟮某绦蜷_發(fā)語言,以eclipse為開發(fā)工具,基于GOOGLE的android系統(tǒng)開發(fā)一款數(shù)獨游戲,并側重于游戲的界面設計,并將程序設計過程中所用到的方法和控件也詳加了說明。數(shù)獨是一種運用紙、筆進行演算的邏輯游戲。玩家需要根據(jù)9X9盤面上的已知數(shù)字,推理出所有剩余空格的數(shù)字,并滿足每一行、每一列、每一個粗線宮內(nèi)的數(shù)字均含1-9,且不重復。每一道合格的數(shù)獨謎題都有且僅有一個唯一答案,推理方法也以此為基礎,任何無解或者多解的題目都是不合格的。本程序?qū)崿F(xiàn)了重新出題,重新做題,提供題目答案,選關,難度選擇和退出等一系列功能。關鍵詞:數(shù)獨;android;android游戲Based

3、on Android Sudoku Games Development Interface DesignAbstractWith the appearance and popular of the android system , more and more mobile phone users turning to the android system, the android system is a Linux-based open source operating system.As the other operating systems, android also use a laye

4、red architecture,the android is divided into four layers from the top to the lower: the application layer,application framework layer, system layer of the runtime and the Linux kernel layer. This thesis describes the development of Sudoku game using object-oriented programming language,and the eclip

5、se as a development tool, based on the Google android system to develop. Sudoku is a logic games using paper, pens to calculus. Known figures on 9X9 disk players need to infer the number of all the remaining spaces, and meet each row and each column. Every grid inclusive of 1-9, and do not repeat. E

6、ach qualified Sudoku puzzle has only one unique answer, and it is also the basis of the inference method , any no solution or multiple solutions for the subject are not allow.This program realize Program questions, re-do the questions, answer, difficulty choice ,exit and so on. Key words: Sudoku; an

7、droid;android game目 錄摘要IAbstractII1 緒論11.1 游戲背景111.2.2數(shù)獨題目的最少組成221.4 國內(nèi)外研究現(xiàn)狀3本章小結32 技術介紹42.1 Android簡介42.2 Android平臺架構及特征42.2.1 Android平臺特征42.2.2 Android平臺架構52.3 Android應用程序組件6本章小結73 系統(tǒng)分析與設計83.1 系統(tǒng)需求分析83.1.1 功能需求分析83.1.2安全性需求分析93.2 系統(tǒng)的結構設計9本章小結94 數(shù)獨游戲界面實現(xiàn)104.1 Android開發(fā)環(huán)境介紹104.2 Android開發(fā)平臺搭建步驟104.3

8、 程序中各類的簡要介紹114.3.1共有類114.3.2歡迎界面相關類114.3.3游戲界面相關類114.4 界面框架實現(xiàn)124.4.1游戲的簡單操作流程124.4.2首先九宮格的繪制代碼144.4.3重來界面164.4.4解題界面174.4.5選擇難易程度界面18本章小結195 系統(tǒng)部署與安裝205.1 eclipse生成apk文件205.2 如何安裝APK到手機22本章小結2425致 謝26參考文獻271 緒論1.1 游戲背景數(shù)獨的前身為“九宮格”,最早起源于中國。但當時的算法比現(xiàn)在的更為復雜,要求縱向、橫向、斜向上的三個數(shù)字之和等于15,而不是數(shù)字不能重復。儒家典籍易經(jīng)中的“九宮圖”也是

9、來源于此。到了18世紀末,瑞士數(shù)學家萊昂哈德·歐文又發(fā)明了一種叫做“拉丁方塊”的游戲,之后不久,美國的一家數(shù)字邏輯游戲雜志開始刊登這類游戲,使此類游戲得到良好發(fā)展,之后又在日本得到了廣泛的傳播。2004年,第一個“數(shù)獨”游戲被刊登上了英國泰晤士報的封面,此時開始數(shù)獨游戲才真正為世界所知曉。由于此類游戲操作簡單,不需要特定的語言基礎,也不需要進行數(shù)字運算且可玩性高、鍛煉思維、開發(fā)大腦,所以很快風靡全球。之后由其衍生的游戲也越來越多,例如殺手數(shù)獨、角線數(shù)獨等。 數(shù)學家利用群論將宮格內(nèi)的數(shù)字1和數(shù)字2全部對換,或者把方陣轉90度或翻面等變形方法所產(chǎn)生出來的等價題目扣除后,計算出共有5472

10、730538個本質(zhì)上不同的數(shù)獨題目。這是一個非常龐大的數(shù)字,假設全球每天在媒體或者網(wǎng)頁上刊登10000個本質(zhì)上不同的數(shù)獨謎題,仍需要花上一萬多年才能全部列完這50多億個數(shù)獨謎題。好的數(shù)獨題目要求已知的數(shù)字是點對稱的,而且謎題要有唯一解甚至已知的數(shù)字越少越好。目前最好的紀錄是給定18個數(shù)字就可以產(chǎn)生出唯一解的數(shù)獨謎題。如果放寬條件到不需要點對稱,那么最少可以給定的數(shù)字是17個。感興趣的讀者可參考相關網(wǎng)站 的例子。許多玩家和學者對數(shù)獨游戲癡迷不已,當然也包括很多計算機程序人員,他們在網(wǎng)上提供了眾多免費下載的數(shù)獨謎題程序。例如,才華橫溢的數(shù)學家和組合學家Zeilberger曾寫了一個在Maple上跑

11、的程序供大家解出數(shù)獨謎題 可以發(fā)現(xiàn),難度高的題目不一定給出較少的數(shù)字,有時候提供的數(shù)字很多但仍然難度很高。反之,提供的數(shù)字少也許反而比較容易解題。也就是說,謎題的難易程度與提供的數(shù)字多少不是絕對相關的,謎題的難易程度和設計者的邏輯思維模式有關。(1)易于學習: 既然手機游戲面向的是普通消費者而不是計算機專家,那么他們不可能深入的學習游戲技巧。消費者不會花幾個小時去研究一個3元的手動操作的游戲。保持游戲的簡單是最基本的要求。(2)可中斷性: 多任務處理是手機生活方式的基本特征。手機用戶常常在任務(如等一個電子郵件或者等車)之間有一小段時間。而游戲、日歷管理、通訊與工作數(shù)據(jù)訪問使用的是同一個設備。

12、所以一個好的手機游戲應該提供短時間的娛樂功能,并且允許用戶在游戲與工作模式之間順利切換。(3)基于訂閱:手機游戲的盈利成功取決于他們巨大的使用量。一開始開發(fā)與設計每個游戲都是昂貴的。如果一個手機游戲開發(fā)者要贏利的話,重要的是氍一個游戲引擎,多個標題,基本的故事情節(jié)類似?;谟嗛喌挠螒蚴遣粩喈a(chǎn)生收入的最好方法。(4)豐富的社會交互: 不管一個游戲設計得多好,只要玩家找到了它的根本模式或者玩完了所有的游戲路徑很快就會厭煩這個游戲。對于一個基于訂閱的游戲,重要的是與別的玩家合作以增強所玩游戲的智力與隨機性。在今天紛繁復雜的多玩家游戲中具有豐富社會交互的游戲證明是成功的。(5)好的網(wǎng)絡基礎設備:巨額的

13、手機技術研發(fā)費用都花在提高設備與網(wǎng)絡的可用性與可靠性上面。因此,手機設備硬件與網(wǎng)絡協(xié)議與桌面/控制臺世界(如全球定位系統(tǒng)(GPS)擴展、條形碼掃描儀、與短消息服務(SMS)/多媒體信息服務(MMS)通訊)有著非常大的差別。好的手機游戲應該利用那些更新的設備特征與網(wǎng)絡基礎設備的優(yōu)點。1.4 國內(nèi)外研究現(xiàn)狀Android是Google開發(fā)的基于Linux平臺的開源手機操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應用程序移動 工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權障礙。Google與開放手機聯(lián)盟合作開發(fā)了Android,這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達電和T-Mobile

14、在內(nèi)的30多家技術和無線應用的領軍企業(yè)組成。Google通過與運營商、設備制造商、開發(fā)商和其他有關各方結成深層次的合作伙伴關系,希望借助建立標準化、開放式的移動 軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。Android作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進一步推進“隨時隨地為每個人提供信息”這一企業(yè)目標的實現(xiàn)。我們發(fā)現(xiàn),全球為數(shù)眾多的移動 用戶從未使用過任何基于Android的 。谷歌的目標是讓(移動通訊)不依賴于設備甚至平臺。出于這個目的,Android將補充,而不會替代谷歌長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機制造商和運營商結成合作伙伴,開發(fā)既有用又有吸引力的移動服務,并推廣

15、這些產(chǎn)品。本章小結本章介紹了數(shù)獨游戲的起源、數(shù)獨游戲介紹以及android系統(tǒng)的國內(nèi)外現(xiàn)狀,希望能讓大家對數(shù)獨有更深入的了解。2 技術介紹2.1 Android簡介Android本意指“機器人”,最初由現(xiàn)任Google工程副總裁的安迪·羅賓(Andy Rubin)創(chuàng)建于2003年,2005年被Google收購 。2007年11月5日 基于Linux內(nèi)核的軟件平臺和操作系統(tǒng)由Google正式發(fā)布,開啟了一個新手機系統(tǒng)輝煌時代的開始。同時Google聯(lián)合了34家廠商并成立了“開放手機聯(lián)盟”,開啟了Android發(fā)展的最初標準和加盟支持原則。 2008年9月23日,Android初步發(fā)布。

16、第一款機型Dream G1的誕生(Android 1.0時代)在2009年10月23日。 不被市場認可-G1和G2逐漸被市場接受(Android 1.5時代) HTC Hero G3廣受歡迎,成為最受歡迎的機型(Android 1.6時代) 眾多廠商加盟支持,機型越來越多,市場反應和占有率越來越高,同時伴隨著Market出現(xiàn)爆發(fā)式增長。然后支持藍牙2.1、多點觸控(Android 2.0時代),支持動態(tài)桌面(Android 2.1時代),支持在線視頻Flash播放、網(wǎng)絡共享功能,加入了Just-In-Time(JIT)功能較大提升了運行速度(Android 2.2時代)內(nèi)置NFC Reader

17、功能、強化游戲性(Android 2.3時代),專門針對平板電腦進行優(yōu)化的Android 3.0版(Android進入真正意義上的平板電腦時代)陸續(xù)上市。2.2 Android平臺架構及特征2.2.1 Android平臺特征1.支持組件的重用與替換。意味著我們可以把系統(tǒng)中不喜歡的應用程序換掉,安裝我們自己喜歡的程序。2.Dalvik虛擬機專門為移動設備做了優(yōu)化。將class文件通過DX工具轉換成后綴為.dex的文件來執(zhí)。Dalvik虛擬機基于寄存器,比java虛擬機快。WebKit引擎。2D和3D圖形庫。5.SQLite數(shù)據(jù)庫,用于結構話的數(shù)據(jù)存儲。6.支持各種多媒體格式:MPEG4、MP3、

18、AAC、AMR、JPG、PNG、GIF,7.GSM 全球通。8.藍牙、Wifi(無線局域網(wǎng))、EDGE(GSM到3G的過渡)。9.照相機、GPS、指南針和加速度計。10. 豐富的開發(fā)環(huán)境包括設備模擬器,調(diào)式工具,內(nèi)存及性能分析表和Eclipse集成開發(fā)環(huán)境插件。Google提供了Android開發(fā)包SDK,其中包含大量的類庫和開發(fā)工具。2.2.2 Android平臺架構如圖2-1所示的Android操作系統(tǒng)的體系結構圖,我們可以看出Android操作系統(tǒng)結構分為4層,由上到下一次是應用程序、應用程序框架、核心類庫和Linux內(nèi)核。 圖2-1Android操作系統(tǒng)體系結構 1.應用程序:Andr

19、oid連同一個核心應用程序抱一起發(fā)布,改應用程序包包括E-mail客戶端。SMS短消息程序、日歷、地圖、瀏覽器、聯(lián)系人管理應用程序等。2.開發(fā)者完全可以訪問核心應用程序所使用的API框架。該應用程序框架用來簡化組件軟件的重用,任何一個應用程序度可以發(fā)布它的功能并且任何其他應用程序度可以使用其所發(fā)布的功能塊。應用程序都是由一系列的服務和系統(tǒng)組成包括:一個可擴展的視圖(Views)、內(nèi)容管理器(Content Providers)、資源管理器(Resource Manager)、通知管理器(Notification Manager)、活動類管理器(Activity Manager)。3.Andro

20、id程序庫通過Android應用程序框架為開發(fā)者提供服務主要核心庫包括:系統(tǒng)C庫、媒體庫、Suface Manager、LibWebCore、SGL、3D libraries、FreeType、SQLite。4. Android運行庫包括一個核心庫,提供java編程語言核心庫的大多數(shù)功能。5.Linux內(nèi)核:Android的核心系統(tǒng)服務依賴于Linux2.6內(nèi)核,如安全性、內(nèi)存管理、進程管理、網(wǎng)絡協(xié)議、和驅(qū)動模型。2.3 Android應用程序組件如前所述,Android 運行在 Linux 內(nèi)核上。Android 應用程序是用 Java 編程語言編寫的,它們在一個虛擬機(VM)中運行。需要注

21、意的是,這個 VM 并非您想象中的 JVM,而是 Dalvik Virtual Machine,這是一種開源技術。每個 Android 應用程序都在 Dalvik VM 的一個實例中運行,這個實例駐留在一個由 Linux 內(nèi)核管理的進程中,如下圖2-2所示。 圖 2-2. Dalvik VMAndroid 應用程序由一個或多個組件組成:1.活動(Activity)具有可視 UI 的應用程序是用活動實現(xiàn)的。當用戶從主屏幕或應用程序啟動器選擇一個應用程序時,就會開始一個動作。2.服務(Service)服務應該用于任何需要持續(xù)較長時間的應用程序,例如網(wǎng)絡監(jiān)視器或更新檢查應用程序。3.內(nèi)容提供程序(C

22、ontent Provider)可以將內(nèi)容提供程序看作數(shù)據(jù)庫服務器。內(nèi)容提供程序的任務是管理對持久數(shù)據(jù)的訪問,例如 SQLite 數(shù)據(jù)庫。如果應用程序非常簡單,那么可能不需要創(chuàng)建內(nèi)容提供程序。如果要構建一個較大的應用程序,或者構建需要為多個活動或應用程序提供數(shù)據(jù)的應用程序,那么可以使用內(nèi)容提供程序?qū)崿F(xiàn)數(shù)據(jù)訪問。4.廣播接收器(Broadcast Receiver)Android 應用程序可用于處理一個數(shù)據(jù)元素,或者對一個事件(例如接收文本消息)做出響應。5.視圖(View) View是Android中圖形用戶界面的基類,提供了可視化界面展示。Android的圖形界面分為三層:底層是Activi

23、ty;Activity上面是Window; Window上面是Views。View又可以分為View和ViewGroup。View是基本控件,ViewGroup是布局控件。6.信使(Intent) Intent是不同組件之間相互導航的紐帶,封裝了不同組件導航查找的條件。Android 應用程序是連同一個 文件一起部署到設備的。 包含必要的配置信息,以便將它適當?shù)匕惭b到設備。它包括必需的類名和應用程序能夠處理的事件類型,以及運行應用程序所需的許可。例如,如果應用程序需要訪問網(wǎng)絡 例如為了下載一個文件 那么 manifest 文件中必須顯式地列出該許可。很多應用程序可能啟用了這個特定的許可。這種聲

24、明式安全性有助于減少惡意應用程序損害設備的可能性。本章小結本章主要講述了開發(fā)基于Android系統(tǒng)的數(shù)獨游戲的技術做了一些概述,通過本章的內(nèi)容我們要了解Android的簡介,明白這項新的手機開發(fā)平臺的操作體系結構,平臺架構,平臺特性,有哪些應用程序組件。3 系統(tǒng)分析與設計3.1 系統(tǒng)需求分析需求分析完成的好壞直接影響后續(xù)軟件開發(fā)的質(zhì)量,它的重要性由此可見一斑。現(xiàn)實情況往往是,用戶不了解計算機的相關知識,而開發(fā)人員也對相關業(yè)務領域不甚了解。受思維定式的影響,用戶和開發(fā)人員往往對同一問題有不同的理解,這樣就對系統(tǒng)的功能確定帶來了很大的麻煩。所以,開發(fā)人員和用戶之間要進行充分和有效的溝通,甚至開發(fā)人

25、員要置身于相關的業(yè)務領域,以確保開發(fā)出來的系統(tǒng)能夠真正滿足用戶的需要。3.1.1 功能需求分析此次程序設計任務是Android平臺下的數(shù)獨游戲設計,程序?qū)⒃贏ndroid模擬器中運行調(diào)試。此次程序設計用戶界面要求較為友好,由于針對的用戶為Android智能手機用戶,因此程序的操作非常簡單容易操作。游戲進行時通過右邊鍵盤中的數(shù)字鍵輸入答案,程序中儲存了大量的數(shù)獨題目,組成了上百個關卡,供用戶娛樂,此次程序設計的操作系統(tǒng)要求為Windows 2000(SP3以上)或者Windows XP。此次程序設計需要在Eclipse環(huán)境下開發(fā)。1. 重來功能重來功能主要實現(xiàn)用戶輸入錯誤答案想要重新開始本題目。

26、2. 下一關功能下一關功能主要實現(xiàn)用戶完成一關游戲后可以跳至下一關。3. 解題功能解題功能主要實現(xiàn)用戶解答不出此題時候系統(tǒng)提示答案。4. 重出題功能重出題功能主要實現(xiàn)用戶不想解答本題,想要換另一題目。5. 難易程度選擇功能難易程度選擇功能主要實現(xiàn)用戶根據(jù)自己實際水平選擇適合自己難度的題目。6. 退出功能退出功能主要實現(xiàn)退出游戲。因該游戲不涉及到用戶信息等,因此不需要考慮信息的泄漏。3.2 系統(tǒng)的結構設計系統(tǒng)結構為進入主界面顯示游戲界面,選擇菜單分為六項功能:重來功能、下一關功能、重出題功能、解題功能、難易程度選擇功能以及退出功能。具體系統(tǒng)結構圖如圖3-1游戲主界面重來退出難易程度解題下一關重出

27、題圖3-1 系統(tǒng)結構圖本章小結本章對Android數(shù)獨游戲做了需求分析,并對系統(tǒng)結構做了簡單介紹,可以從下一章中具體看到這些界面及具體的實現(xiàn)方法和部分代碼。4 數(shù)獨游戲界面實現(xiàn)4.1 Android開發(fā)環(huán)境介紹Android的上層應用程序是用Java語言開發(fā),同時還需要基于Dalvik虛擬機,所以,Google公司推薦使用主流的Java繼承開發(fā)環(huán)境Eclipse。只有Eclipse還不夠,因為是使用Java語言進行開發(fā),還應該有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的應用程序開發(fā)和Java開發(fā)有較大區(qū)別的,所

28、以還需要有Google提供的Android SDK。同時,還需要在Eclipse安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,是Eclipse下開發(fā)工具的升級下載的工具。簡言之,需要以下軟件,才能搭建Android開發(fā)環(huán)境,從而進行Android應用程序的開發(fā)。(1) Java SDK(2) Eclipse(3) Android SDK(4) ADT4.2 Android開發(fā)平臺搭建步驟s/下載Eclipse集成開發(fā)環(huán)境并且解壓,這里推薦下載Java EE集成版本,可以為平臺的搭建省下不少工作。接著再去 站點下載SDK后安裝,下載h 后解壓。第一步下載工序就結束了。2.雙擊Ecl

29、ipse解壓后目錄中的eclipse.exe然后啟動,選擇Eclipse菜單中的Help-> Install New Software-> 選項卡上的Available Software,點擊右側的“Add”輸入后確定,然后在“Work with”下拉菜單中選擇剛才輸入的網(wǎng)址。過一會就會出現(xiàn)一個Developer Tools選項,勾上以后點擊Next以后Eclipse會自動網(wǎng)上查找Android 開發(fā)工具插件,然后找到Android DDMS和Android Development Tools,選中這兩個點擊Finish,Eclipse就會自動下載并安裝Android插件了,最后會

30、提示重啟Eclipse。3.重啟后選擇Eclipse菜單中的Windows-> Preferences 在左側的Android項目中SDK Location中填入Android SDK解壓后的目錄,然后點擊Apply。4.在WindowsXP的系統(tǒng)變量中的path變量中添加一個值,該值指向解壓后的Android SDK目錄下的tools文件夾。4.3 程序中各類的簡要介紹 主類SudukuActivity類: 該類是通過繼承和擴展基類Activity來實現(xiàn)的,是整個應用程序的入口,主要是根據(jù)收到的Handler消息的不同切換到不同的界面。(1)WelcomeView類該類為歡迎界面的實現(xiàn)

31、類,主要負責歡迎動畫界面的繪制,是歡迎界面的前臺顯示的View,根據(jù)后臺數(shù)據(jù)的不同繪制不同效果的動畫。(2)關于界面AboutView類該類是游戲關于界面的實現(xiàn)類,主要負責游戲關于界面的繪制。(3)幫助界面HelpView類該類是游戲幫助界面的實現(xiàn)類,主要負責游戲幫助界面的繪制。 (1)GameView類GameView類是游戲中最主要的一個類游戲規(guī)則、游戲模型都包含在此類當中。同時該類還負責繪制游戲的畫面、接受玩家的響應。 (2)GameViewDramThread類GameViewDramThread類負責定時的刷幀操作。 (3)刷新時間線程TimeThread類該線程的實現(xiàn)非常簡單,只是

32、定時改變游戲模型中的時間值,并不負責其他事件的處理。 (4)數(shù)字鍵盤渲染線程DrawKeyThread類該線程的作用是數(shù)字鍵盤出現(xiàn)或消失過程中對數(shù)字鍵盤的漸變處理,邏輯很簡單,定時改變數(shù)字鍵盤圖片透明度即可。 (5)數(shù)度生成器ShuDuSuanFa類該類是個普通的Java類,不繼承任何類,只為游戲隨機提供存放數(shù)獨數(shù)字的二維數(shù)組,該類所采用算法的優(yōu)劣決定了該類游戲可玩性的好壞。4.4 界面框架實現(xiàn)1.通過Android模擬器打開游戲主界面如圖3-1所示:圖4-1 游戲主界面為該游戲第一關的界面,可以直接開始游戲。2.點擊圖4-1右邊 鍵,答到圖4-2界面:圖 4-2 游戲菜單界面得到該游戲的不同

33、選項,點擊“重出題”,游戲界面中數(shù)字布局換位另一張圖;“重來”,游戲界面回復未填入數(shù)字狀態(tài),仍未原題;點擊“解題”,則游戲界面將游戲界面中空白處填入正確數(shù)字,如圖4-3圖 4-3解題按鈕界面其中題目數(shù)字為紅色,解題數(shù)字為黑色;點擊圖4-2中下一關按鈕游戲界面更換,而且游戲界面上部游戲關卡數(shù)變?yōu)閳D4-4形式圖4-4 游戲關卡4.點擊圖 4-2 中難易程度按鈕來更改游戲的困難度,分為簡單、中等、困難三個等級,如圖4-5圖4-5 游戲難易程度首先九宮格的繪制代碼從MyView派生一個View對象用于繪圖 class MyView extends View 1.點擊事件 Override public

34、 boolean onTouchEvent(MotionEvent event) 2.計算點擊的區(qū)域代碼 int n=(int) (event.getX()/unitw); int m=(int) (event.getY()/unitw); if(n<9)selX=n; if(m<9)selY=m; clearFocus();3.清除之后重新繪制 return super.onTouchEvent(event); public MyView(Context context) super(context);setFocusable(true);/允許獲得焦點setFocusableI

35、nTouchMode(true);4.計算單位長度代碼super.onSizeChanged(w, h, oldw, oldh);unitw= (w>h)?h:w)/9;5.填充背景顏色Paint background= createPaint(Color.parseColor("#E8F2FE");canvas.drawRect(0,0,getWidth(),getHeight(),background);6.畫水平線for(int i=0;i<=9;i+)canvas.drawLine(i*w-1,0,i*w-1,9*w,createPaint(Color.

36、parseColor(i%3!=0)?"#999999":"#999999");canvas.drawLine(i*w, 0, i*w,9*w,createPaint(i%3!=0)?Color.WHITE:Color.BLACK);7.畫垂直線for(int i=0;i<=9;i+)canvas.drawLine(0,i*w-1,9*w,i*w-1,createPaint(Color.parseColor(i%3!=0)?"#999999":"#999999");canvas.drawLine(0,i*w,

37、9*w,i*w,createPaint(i%3!=0)?Color.WHITE:Color.BLACK);if(selX>-1 && selY>-1)canvas.drawRect(getRect(),createPaint(Color.parseColor("#0000FF") );圖 4-6重來關卡數(shù)不變,游戲界面清空已填數(shù)據(jù),代碼實現(xiàn)如下所示:private void reDo() for(int i=0;i<9;i+) for(int j=0;j<9;j+)新數(shù)據(jù)替換就數(shù)據(jù): dataij=oldDataij; selX=se

38、lY=0; myView.clearFocus(); 解題界面圖4-7 解題實現(xiàn)代碼如下所示:private void showAll() String strData=easyDatalvl;for(int i=0;i<strData.length();i+)datai%9i/9=Integer.parseInt(""+strData.charAt(i);myView.clearFocus();選擇難易程度界面圖4-8 難易程度選擇實現(xiàn)代碼如下所示:1.游戲難度選擇:private void closeGame() this.finish(); OnMenuItem

39、ClickListener mitemClick=new OnMenuItemClickListener() public boolean onMenuItemClick(MenuItem mItem) if(mItem.getTitle().equals("重來")reDo();if(mItem.getTitle().equals("解題")showAll();if(mItem.getTitle().equals("難易程度")selHard();if(mItem.getTitle().equals("退出")c

40、loseGame();2.游戲難度選擇之后執(zhí)行的程序if(mItem.getTitle().equals("重出題")initGame();if(mItem.getTitle().equals("重來")reDo();if(mItem.getTitle().equals("解題")showAll();if(mItem.getTitle().equals("難易程度")selHard();if(mItem.getTitle().equals("退出")closeGame();本章小結本章主要講述了

41、安裝android模擬器的方法、介紹程序中用到的各種類以及對前臺界面的實現(xiàn)過程及原理。5 系統(tǒng)部署與安裝5.1 eclipse生成apk文件step 1:選擇要打包的項目,右鍵點擊>Android tools>Export Signed Application Package如圖5-1圖5-1 eclipse 打包工具接下來的步驟就是不斷的next。如圖5-2: 圖5-2 Project Checksstep 2:選擇打包的項目,如圖5-3:圖5-3 Keystore selectionstep 3: 選擇生成的store 文件并輸入密碼。如圖5-4圖5-4 Key Creatio

42、nstep 4:鍵入alias 并輸入密碼validity輸入有效期限>25年 如圖5-5:圖5-5 Destination and keystep 5:最后選擇生成android apk文件的目錄及文件名。圖5-6:圖5-6 選擇文件名5.2 如何安裝APK到手機對于應用軟件生成了APK,安裝到自己的手機,我們可以從網(wǎng)上下載一個APK安裝的軟件,比如說:豌豆莢手機精靈,360手機助手等等。下面我們以360手機助手為例:step 1:手機連接電腦,如圖5-7所示:圖5-7 連接手機step 2:手機助手的主頁,如圖5-8所示:圖5-8 手機助手主頁 step 3:安裝本地應用,選擇要安裝

43、的軟件即可,如圖5-9 圖5-9 本地安裝本章小結 本章是介紹了軟件的安裝與部署,包括生成APK以及將APK安裝到手機中的方法。在該數(shù)獨游戲的開發(fā)過程中遇到過不少困難,雖然解決起來不是那么容易,但是在這其中學到了很多知識,同時也提升了我對Android系統(tǒng)的濃厚興趣,更加喜歡從事Android系統(tǒng)各項軟件的研究以及對該系統(tǒng)的深度探索,希望能夠在這方面有更進一步的發(fā)展。同時,該游戲在現(xiàn)有基礎上還可以開發(fā)其他功能,不僅能夠使界面更加美觀,而且可以增加其他功能,比如給出空格出候選數(shù)字之類的功能等,提高游戲趣味性。致 謝本人在學士本科學習期間以及撰寫論文的過程中,一直得到了我的導師XXXX老師的悉心指

44、導。從計算機課程的學習、論文選題、資料收集、論文撰寫、到最后的論文成稿,X老師都給予了我很多的支持、關懷和幫助。在我們遇到困難的時候X老師為我們出謀劃策,操心受累。X老師嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和激勵著我。X老師淵博的學識、嚴謹?shù)闹螌W作風、誨人不倦的教學態(tài)度以及愛崗敬業(yè)的精神、待人熱忱的人格魅力都讓我受益匪淺,這必將激勵我在今后的工作學習和生活中不斷努力、積極進取、勇往直前。在此,特向X老師表示衷心的感謝和崇高的敬意。感謝XXXXX大學的各位老師,他們對我的學習和研究給予了極大的關心、大力的支持和幫助,使我在大學四年里不斷豐富專業(yè)知識,提升專業(yè)技能,并最終

45、順利地完成了學業(yè)。感謝我的同學、朋友,以及學長、學弟、學妹們在學業(yè)上對我的支持和幫助。感謝我的家人,沒有他們的支持與關懷,就沒有我的今天。我永遠深深的愛他們。最后感謝評審本論文的專家和老師們,感謝您們的認真審閱,老師們辛苦了。參考文獻1 李興華.Java開發(fā)實戰(zhàn)經(jīng)典(名師講壇)M.北京:清華大學出版社,20092 Nicolas Gramlich,張勁鋒.Android編程入門教程andbook中文版M.北京.人民郵電出版社,20103 吳亞峰,索依娜.Android核心技術與實例詳解M.北京:電子工業(yè)出版社,20104 Rogers Cadenhead,Laura Lemay.21天學通Ja

46、va 2M.北京.人民郵電出版社,2004 5 M.北京:清華大學出版社,20036 李鐘尉,周小彤,陳丹丹.Java從入門到精通(第2版)M.北京:清華大學出版社,20107 郭宏志.android8 鳳舞煙.北風網(wǎng)android講解DB/OL.9 優(yōu)億開發(fā)者門戶.eoe優(yōu)億開發(fā)DB/OL.DB/OL. 11Mars.千鋒3G學院android游戲開發(fā)教程DB/OL. DB/OL. 13 Android項目打包生成簽名的apk文件DB/OL.14 Android介紹DB/OL.15 傳智android講解DB/OL.ag an employment tribunal clai Emloyme

47、nt tribunals sort out disagreements between employers and employees. You may need to make a claim to an employment tribunal if: you don't agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly. For mo

48、re informu, take advice from one of the organisations listed under Fur ther help. Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation. Most people find making a claim to an employment tribun

49、al challenging. If you are thinking about making a claim to an employment tribunal, you should get help straight away from one of the organisations listed under Further help. ation about dismissal and unfair dismissal, see Dismissal. You can make a claim to an employment tribunal, even if

50、you haven't appealed against the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal. Remember that in most cases you must make an application to an employm

51、ent tribunal within three months of the date when the event you are complaining about happened. If your application is received after this time limit, the tribunal will not usually accept i. If you are worried about how the time limits apply to you If you are being represented by a solicitor at the

52、tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. This is known as a damages-based agreement. In England and Wales, your solicitor can't charge you more than 35% of your compensation if you win the case. You are clear

53、about the terms of the agreement. It might be best to get advice from an experienced adviser, for example, at a Citizens Advice Bureau.  To find your nearest CAB, including those that give advice by e-mail, click on nearest CAB. For more information about making a claim to an employment tr

54、ibunal, see Employment tribunals. The (lack of) air up there Watch m Cay man Islands-based Webb, the head of Fifa's anti-racism taskforce, is in London for the Football Association's 150th anniversary celebrations and will attend City's Premier League match at Chelsea on Sunday. &qu

55、ot;I am going to be at the match tomorrow and I have asked to meet Ya ya Toure," he told BBC Sport. "For me it's about how he felt and I would like to speak to him first to find out what his experience was." Uefa has opened disciplinary proceedings against CSKA for the "racist behaviour of their fans" during City's 2-1 win. Michel Platini, president of Eu

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論