【正文】
....................................................................................... 29 游戲結(jié)束界面 ............................................................................................... 30 結(jié)束語(yǔ) ....................................................................................................................... 30 致謝 ............................................................................................................................ 32 參考文獻(xiàn) ................................................................................................................... 33 武漢理工大學(xué)論文 I 摘 要 Android 作為 Google 為移動(dòng)終端打造的真正開(kāi)放和完整的智能手機(jī)系統(tǒng),近年來(lái)受到了開(kāi)發(fā)者的廣泛關(guān)注。該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。俄羅斯方塊游戲包括方塊的裝載、鍵盤的事件處理、方塊操作控制、下降速度控制、到達(dá)事件處理、滿行判斷及消行、顯示控制等幾大模塊。 關(guān)鍵字: Android; Java;俄羅斯方塊;手機(jī)游戲 武漢理工大學(xué)論文 II Abstract As a truly opened and pleted mobile platform, Android which devised by Google was concerned sidely by developers in recent years. The platform consists of the operating system, the middleware, the user Interface and the application software. This paper mainly introduced the background of Android platform, the development environment’s setting up and the development process of Puzzle game and Tetris game. Based on the prehension of the opensource building of Android and the construction of development environment, the Tetris game were pleted. Tetris game contains modules of the squareloading, the keyboard events handling,the blockrotating, the drop speed controlling, the incident handling, the full line judging and vanishing and the displaycontrolling. Tetris game were acplished by the Java language on Android development environment platform. Keywords:Android。 Tetris。該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,是一個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的智能手機(jī)系統(tǒng)。 隨著谷歌 Android 智能手機(jī)平臺(tái)的推出,很快便在其周圍匯集了全球移動(dòng)領(lǐng)域一大批的重量級(jí)廠商并組成了谷 歌開(kāi)放手機(jī)聯(lián)盟( Open Handset Alliance),“開(kāi)放手機(jī)聯(lián)盟”表示: Android 平臺(tái)可以促使移動(dòng)設(shè)備的創(chuàng)新,讓用戶體驗(yàn)到最優(yōu)質(zhì)的移動(dòng)服務(wù)。開(kāi)發(fā) Android應(yīng)用程序使用的 Java 語(yǔ)言是面向?qū)ο蟮木幊陶Z(yǔ)言,面向?qū)ο蠹夹g(shù)較好地適應(yīng)了當(dāng)今軟件開(kāi)發(fā)過(guò)程中新出現(xiàn)的種種傳統(tǒng)面向過(guò)程語(yǔ)言所不能處理的問(wèn)題,包括軟件開(kāi)發(fā)的規(guī)模擴(kuò)大、升級(jí)加快、維護(hù)量增大以及開(kāi)發(fā)分工 日趨細(xì)化、專業(yè)化和標(biāo)準(zhǔn)化等,是一種迅速成熟、推廣的軟件開(kāi)發(fā)方法。 本文基于 Android 開(kāi)發(fā)平臺(tái),使用 Java 語(yǔ)言編寫了俄羅斯方塊游戲, 通過(guò)不斷的編寫、調(diào)試、 完善,最終 使程序 順利運(yùn)行。2021 年 11 月 5 日, Android 被谷歌正式公布作為自己的手機(jī)系統(tǒng)平臺(tái),而在未公開(kāi)之前常被傳聞為 Google 電話或 gPhone。 圖 21 谷歌 Android 機(jī)器人標(biāo)志 系統(tǒng)概述 Android 一詞的本義指 “ 機(jī)器人 ” ,同時(shí)也是 Google 于 2021 年 11 月 5 日宣布的 基 于 Linux 內(nèi)核的開(kāi)源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成, 號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。其早期由 Google 開(kāi)發(fā),后由開(kāi)放手機(jī)聯(lián)盟 OpenHandset Alliance 開(kāi)發(fā)。 Android 平臺(tái)整體自底向上由以下四個(gè)層次組成: Linux 內(nèi)核層、 Android 運(yùn)行時(shí)庫(kù)和 其他 庫(kù)層、應(yīng)用框架層、應(yīng)用程序?qū)印?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)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng)。 Android 上的應(yīng)用程序可以通過(guò)標(biāo)準(zhǔn) API 訪問(wèn)核心移動(dòng)設(shè)備功能。 (3)應(yīng)用程序是在平等的條件下創(chuàng)建的。 (4)應(yīng)用程序可以輕松地潛入網(wǎng)絡(luò)。 (5)應(yīng)用程序可以并行運(yùn)行。在后臺(tái)運(yùn)行時(shí),應(yīng)用程序可以生成通知以引起注意。虛擬鍵盤的出現(xiàn)意味著基于 或以上版本( Android )的移動(dòng)設(shè)備可以同時(shí)支持物理鍵盤和虛擬鍵盤。 Android 虛擬鍵盤可以在任何應(yīng)用中提供,包括 Gmail、瀏覽器、 SMS,當(dāng)然也包括大量的第三方應(yīng)用,如自動(dòng)校正、推薦、用戶詞典等。如圖 22所示??梢杂?Widget“武裝”自己的桌面。 Android 預(yù)裝了 5 個(gè)桌面Widget,包括數(shù)字時(shí)鐘、日歷、音樂(lè)播放器、相框和搜索。如圖 23所示。類似于 OS X Leopard 的 QuickLook 特征,Android 的在線文件夾可顯示常見(jiàn)的數(shù)據(jù)條目,比如聯(lián)系人、喜歡的應(yīng)用、 Email 信息、播放列表、書(shū)簽、 RSS 源等,并不需要運(yùn)行系統(tǒng)程序處理特定的數(shù)據(jù)條目。什么是最好的, 開(kāi)發(fā)者可以拓展通用數(shù)據(jù)條目和注冊(cè)新數(shù)據(jù)類型的內(nèi)置支持。 Android 還有錄制和分享視頻的功能,對(duì)回放和 MPEG 3GP等視頻格式也有了更好的支持。上傳視頻的同時(shí),可以繼續(xù)使用手機(jī),甚至可以繼續(xù)錄制和上傳新的視頻。在線分享圖片需要的點(diǎn)擊更少。 (6)更快、更兼容的瀏覽器。當(dāng)使用包含大量 Java 腳本的復(fù)雜 Web 應(yīng)用時(shí),可以體驗(yàn)到更佳的性能。 (7)Voice Search 語(yǔ)音搜索。該功能增強(qiáng)了默認(rèn)的搜索能力,已超過(guò)純文本搜索。在服武漢理工大學(xué)論文 5 務(wù)器中,語(yǔ)音識(shí)別技術(shù)能將語(yǔ)音轉(zhuǎn)化為特定的文本搜索,使之通過(guò) Google 搜索引擎,通過(guò)地理位置的篩選,將結(jié)果反饋到手機(jī)設(shè)備。除了增強(qiáng)的免提電話體驗(yàn), Android 還支持立體聲藍(lán)牙( A2DP 和 AVCRP),并有自動(dòng)配對(duì)功能。 Android 內(nèi)部提供了大量的 GPS 組件,我們可以很輕松地獲得設(shè)備當(dāng)前的位置等信息,讓 導(dǎo)航等功能更加完美。 Android 可自動(dòng)檢測(cè)和修復(fù) SD卡的文件系統(tǒng),允許第三方應(yīng)用顯示 Android 系統(tǒng)的硬件特征。 Android 應(yīng)用程序框架 框架是一個(gè)應(yīng)用程序的核心,是所有參與開(kāi)發(fā)的程序員共同使用和遵守的約定,大家在其約定上進(jìn)行必要的擴(kuò)展,但程序始終保持主體結(jié)構(gòu)的一致性。 Android 系統(tǒng)提供給應(yīng)用開(kāi)發(fā)者的本身就是一個(gè)框架,所有的應(yīng)用開(kāi)發(fā)都必須遵守這個(gè)框架的原則。 ? : 提供高層的程序模型和基本的運(yùn)行環(huán)境。 ? :通過(guò)內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫(kù)。 ? :提供一些類管理多種音頻、視頻的媒體接口。 ? :提供了系統(tǒng)服務(wù)、消息傳輸和 IPC 機(jī)制。 ? :提供訪問(wèn) Android 內(nèi)容提供者的類。 武漢理工大學(xué)論文 6 ? :提供基礎(chǔ)的用戶界面接口框架。 ? :默認(rèn)瀏覽器操作接口。 Android 開(kāi)發(fā)環(huán)境的搭建 配置 Android 開(kāi)發(fā)環(huán)境之前,首先需要了解 Android 對(duì)操作系統(tǒng)的要求。 Android 開(kāi)發(fā)所需軟件的版本及其下載地址如表 21所示。 Eclipse是一款非常優(yōu)秀的開(kāi)源 IDE,在大量插件的“配合”下,完全可以滿足從企業(yè)級(jí) Java應(yīng)用到手機(jī)終端 Java 游戲的開(kāi)發(fā), Google 官方也提供了基于 Eclipse 的 Android 開(kāi)發(fā)插件 ADT。安裝了 JDK 和 Eclipse后,就要安裝 Android SDK 和 ADT 插件 了。 (2)如果遇到了消息為“ Failed to fetch URL?”的錯(cuò)誤提示,那么需要將 HTTPS方式改為 HTTP 方式,在“ Android SDK and AVD Manager”窗口的左側(cè)選擇“ Settings”,選中“ Force Saveamp。 (3)點(diǎn)擊“ Available Packages”,選擇要安裝的 API 版本及 USB驅(qū)動(dòng)和 SDK 文檔,武漢理工大學(xué)論文 7 如果有需要 可以全部選擇。 下載完成之后,根據(jù)提示即可完成后續(xù)的安裝操作,到這里, Android SDK 的安裝已經(jīng)完成,下面來(lái)配置 Android SDK。 (1)右鍵點(diǎn) 擊“我的電腦”,依次選擇“屬性” → “高級(jí)” → “環(huán)境變量”選項(xiàng)?!备糸_(kāi)。 安裝和配置 ADT ADT 插件的安裝和配置步驟如下所述。 圖 24 添加 ADT 的更新地址 (2)點(diǎn)擊“ OK”,這時(shí)可能會(huì)出現(xiàn)如圖 25所示的錯(cuò)誤。 (3)打開(kāi)菜單“ Windows”,依次選擇“ Preferences” → “ Android”,點(diǎn)擊“ Browse? ”按鈕,選擇 Android SDK 的安裝路徑。 到這里,準(zhǔn)備工作已經(jīng)就緒。在創(chuàng)建 AVD 時(shí)可以配置的選項(xiàng)有:模擬器影像大小、觸摸屏、軌跡球、攝像頭、屏幕分辨率、鍵盤、 GSM、 GPS、 Audio 錄放、 SD 卡支持、緩存區(qū)大小等。 (1)首先打開(kāi)“ Android SDK and AVD Manager”。 (3)在“ Name”標(biāo)簽 處填寫 AVD 的名字,在“ Target”標(biāo)簽處選擇 API 等級(jí),在“ Size”標(biāo)簽處填寫要?jiǎng)?chuàng)建的 SD 卡的大小,在“ Skin”標(biāo)簽中設(shè)置模擬器的風(fēng)格。操作步驟為:點(diǎn)擊“ Run” ,選擇“ Run Configurations”菜單命令,打開(kāi)“ Run Configurations”對(duì)話框,雙擊“ Run Configurations”對(duì)話框左邊的導(dǎo)航器中的“ Android Application”菜單命令,創(chuàng)建一個(gè) Android 項(xiàng)目運(yùn)行配置。 (5)點(diǎn)擊“ Target”選 項(xiàng)卡,選擇“ Autonmatic”單選項(xiàng),然后在 AVD 列表框中選擇剛才創(chuàng)建的 AVD,點(diǎn)擊“ Run”按鈕,這樣便可以運(yùn)行項(xiàng)目了。俄羅斯方塊的基本規(guī)則是移動(dòng)、旋轉(zhuǎn)和擺放游戲隨機(jī)產(chǎn)生的各種方塊,使之排列成完整的一行或多行并且消除得分。此軟件給用戶提供了一個(gè)展現(xiàn)自己高超技藝的場(chǎng)所,在這里,它不僅放松自己,還能感受到游戲中的樂(lè)趣。下墜物在一行或多行堆滿后就可以自動(dòng)消除,消行后會(huì)得到相應(yīng)的分?jǐn)?shù),如果當(dāng)前下墜物堆積至窗口頂端,則游戲結(jié)束。先分析游戲的特點(diǎn),然后對(duì)這些功能一一進(jìn)行細(xì)化,從而完成整個(gè)游戲的設(shè)計(jì)。當(dāng)玩家按下相應(yīng)的操作鍵位時(shí),通過(guò)條件判斷,判斷該操作是否可行,如果可行就執(zhí)行相應(yīng)的操作。 (2)方塊的生成顯示功能。同時(shí)當(dāng)游戲方塊左右移動(dòng),下落,旋轉(zhuǎn)變形時(shí),要清除先前的游戲方塊,還要求出被操作后的方塊坐標(biāo),用新坐標(biāo)重繪游戲方塊。當(dāng)方塊落到底部的時(shí)候,通過(guò)條件判斷,把方塊擺放在屏幕底部并持續(xù)顯示,當(dāng)某行或者某幾行被填滿的時(shí)候,要把這幾行消除,并且被消除武漢理工大學(xué)論文 10 的行數(shù)上方的方塊整體下移。記錄游戲積分,每當(dāng)有行被消除時(shí),游戲積分會(huì)根據(jù)一次消除的行數(shù)而增加相應(yīng)的分?jǐn)?shù)。當(dāng)游戲積分達(dá)到某一條件時(shí),系統(tǒng)將自動(dòng)為玩家提高難 度。 (6)游戲結(jié)束控制功能。 方塊及旋轉(zhuǎn)變換需求分析 本游戲共有 7種類型的方塊,而每種類型方塊還可以通