freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于android的飛機大戰(zhàn)游戲設(shè)計與實現(xiàn)-文庫吧

2024-11-11 23:01 本頁面


【正文】 。這是本應(yīng)用對于操作性的要求。 業(yè)務(wù)流程分析 依據(jù)系統(tǒng)的需求分析,得到系統(tǒng)的流程圖如圖 23 所示: 圖 23 系統(tǒng)流程圖 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 4 第 3 章 系統(tǒng)總體設(shè)計 系統(tǒng)功能模塊分析 當前應(yīng)用使用的 SurfaceView 來繪制的 頁面因此相對來說大部分邏輯都是由Activity來做處理的。本系統(tǒng)的功能模塊也根據(jù) Activity的不同來劃分成 6個功能模塊。 系統(tǒng)管理 各個操作界面布局適當,顏色搭配等要美觀。各個 Activity 之間的切換要快速( PS:它們各自的背景音樂也要隨之切換,給用戶 以 順暢、自然的感覺)。用戶在任何一個Activity 點擊 “EXIT” 按鈕或 ContextMenu 中的 “ 退出 ” 都要成功的將當前應(yīng)用掛起的多個 Acitivity 和當前 Android 虛擬機顯示的 Activity 順利的停止,并銷毀。 APP 應(yīng)用設(shè)置 設(shè)置應(yīng)用系統(tǒng)背景音樂聲音大小和游戲難度。 使用 SeekBar 來控制系統(tǒng)音量,使用 RadioGroup 來控制飛機難度。 玩家信息管理 在游戲結(jié)束時對于玩家的名稱和得分進行記錄,并在玩家查看排名情況時,以倒序形式顯示前六名玩家的得分和姓名等信息。 系統(tǒng)類關(guān)系圖 系統(tǒng)實體類、邊界類、控制類之間的關(guān)系如圖 31 所示: 基于 Android 的飛機大戰(zhàn)游戲設(shè)計與開發(fā) 5 圖 31 實體類、控制類、邊界類之間的關(guān)系 各個界面類之間的關(guān)系如圖 32 所示: 圖 32 APP邊界類關(guān)系 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 6 系統(tǒng)總體設(shè)計 系統(tǒng)的中只有 玩家一種用戶,不必向其他的網(wǎng)站或者是教務(wù)系統(tǒng)一樣進行身份驗證等操作。玩家點擊應(yīng)用圖標直接進入應(yīng)用的開始界面。用戶的操作總體可以歸并成如 33玩家 用例圖所顯示的內(nèi)容 ,子彈的用例圖如圖 34 所示,飛機的用例圖如圖 35 所示。 用戶的操作基本可以劃分為 “ 開始游戲 ” , “ 設(shè)置游戲 ” , “ 玩游戲 ” , “ 查看分數(shù) ” , “ 退出游戲 ” 這五個用例。 圖 33 玩家 用例圖 基于 Android 的飛機大戰(zhàn)游戲設(shè)計與開發(fā) 7 圖 34 子彈用例圖 圖 35 飛機用例圖 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 8 第 4 章 系統(tǒng)詳細設(shè)計 開發(fā)工具簡介 Android 開發(fā)工具 (ADT)是一個插件的 Eclipse IDE,目的是給 開發(fā)人員提供 一個強大的、集成的環(huán)境中構(gòu)建 Android 應(yīng)用程序。 擴展能力的 Eclipse ADT 讓你迅速建立新的 Android 項目 ,創(chuàng)建一個應(yīng)用程序的用戶界面 ,添加基于安卓框架 的 API,調(diào)試您的應(yīng)用程序使用 Android SDK 工具 ,生成 apk 文件在使用 Eclipse運行 Android應(yīng)用的時候 Eclipse會自動的將生成的 apk文件自動的注冊到 Android 虛擬機中 。 在 Eclipse ADT 發(fā)展與高度推薦 ,是一種最快的方式開始。與引導項目設(shè)置它提供 ,以及工具集成、定制 XML 編輯器和調(diào)試輸出窗格 ,ADT 給了你極大的提高在發(fā)展中 Android應(yīng)用程序。 使用 Eclipse 集成 Android ADT 做 Android 應(yīng)用開發(fā)是目前企業(yè)中常用的 Android應(yīng)用開發(fā)方式。 本項目在開發(fā)環(huán)境: ? JDK ? Eclipse ? Android 數(shù)據(jù)庫設(shè)計 本應(yīng)用使用的是 Android 虛擬機做開發(fā),因此使用的為 Android 虛擬機中自帶的數(shù)據(jù)庫 SQLite。本應(yīng)用只是在針對用戶得分及用戶姓名等基本信息進行存儲,因此數(shù)據(jù)庫非常簡單,僅僅是設(shè)計了一個用來 存儲用戶排名信息的表結(jié)構(gòu)。 用來存儲用戶基本信息的positor_table 的字段信息如圖 41 所示。 CREATE TABLE [positor_table] ( id INTEGER PRIMARY KEY, name VARCHAR(40) NOT NULL, score INTEGER NOT NULL) 基于 Android 的飛機大戰(zhàn)游戲設(shè)計與開發(fā) 9 圖 41 positor 表 Android 中自帶的 SQLiteOpenHelper 作用 : 一個幫助類 , 幫助創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫版本管理。 本應(yīng)用直接創(chuàng)建一個 SkyGameDataBaseHelper 類繼承 Android 自帶的數(shù)據(jù)庫操作類SQLiteOpenHelper。在 onCreate()方法中創(chuàng)建表 positor_table。 public void onCreate(SQLiteDatabase db) { // TODO Autogenerated method stub String create_table = ().getString()。 // CREATE TABLE [positor_table] (id INTEGER PRIMARY KEY,name VARCHAR(40) NOT NULL,score INTEGER NOT NULL)。 (create_table)。 } DAO(數(shù)據(jù)庫訪問對象 ) 本應(yīng)用中的數(shù)據(jù)庫訪問對象 SkyGameDataBaseDao 采用了單例模式 , 以保證當前應(yīng)用中只存在一個 DAO 數(shù)據(jù)庫訪問對象。使用了最簡單的單例,并未從線程安全的角度進行進一步的限制,原因在于考慮到 當前應(yīng)用中只有 3 個 Activity 使用了 DAO,由圖 42 可知Activity 之間的切換類似于進程對于 CPU 的占用一樣,當前顯示在界面上的 Activity 是活動狀態(tài)而其他 Activity 則是掛起狀態(tài),因此不必擔心它們的線程同時去創(chuàng)建 DAO 對象以引起當前系統(tǒng)中多個 DAO 對象的狀況。 public class SkyGameDataBaseDao { private static SkyGameDataBaseDao instance = null。 private SQLiteDatabase database = null。 private Context context = null。 private SkyGameDataBaseHelper helper = null。 public static SkyGameDataBaseDao getInstance (Context context){ if(instance == null){ instance = new SkyGameDataBaseDao(context)。 } 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 10 return instance。 } private SkyGameDataBaseDao(Context context){ = context。 helper = new SkyGameDataBaseHelper(context,1)。 while(( = ())==null)。 } public void insertPlayer(SkyGamePlayer player){ String sql = ().getString()。 ContentValues values = new ContentValues()。 (score,())。 (name, ())。 if(!()){ ()。 } try { ()。 (sql, null, values)。 ()。 } catch (Exception e) { // TODO Autogenerated catch block ()。 }finally{ ()。 } } public ArrayListSkyGamePlayer getPlayers(){ ArrayListSkyGamePlayer players = new ArrayListSkyGamePlayer()。 String sql = ().getString()。 Cursor cursor = (sql, null)。 ()。 if(() 0){ int count = 0。 count++。 (new SkyGamePlayer(count,(1),(2)))。 while(()){ count ++。 (new SkyGamePlayer(count,(1),(2)))。 } } return players。 } 基于 Android 的飛機大戰(zhàn)游戲設(shè)計與開發(fā) 11 public void delete(){ String sql = ().getString()。 if(!()){ ()。 } try { ()。 (sql)。 ()。 } catch (SQLException e) { // TODO Autogenerated catch block ()。 }finally{ ()。 } } public void close(){ if(()){ ()。 } } } 圖 42 Android 中 Activity 生命周期狀態(tài)圖 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 12 SQLite 數(shù)據(jù)庫 SQLite,是一款輕量級的 關(guān)系型數(shù)據(jù)庫 。由于它占用的資源非常少,所以在很多 嵌入式設(shè)備 都是用 SQLite 來存儲數(shù)據(jù)。 Android 作為目前主流的移動操作系統(tǒng),完全符合 SQLite 占用資源少的優(yōu)勢,故在Android 平臺上,集成了一個 嵌入式 關(guān)系型數(shù)據(jù)庫 — SQLite。 由于 SQLite 是輕量級的關(guān)系型數(shù)據(jù)庫,它支持的 SQL 語句也是有限的,在使用 SQL語句獲得前 6 名玩家的信息時直接使用了 SQLite 不支持的 TOP 語句引起了異常。在查閱相關(guān)資料后才發(fā)現(xiàn) SQLite 不支持 TOP 語句,因此使用語句 DESC LIMIT 來代替 TOP 達到了自己想要的只獲得表 positor_table 中的 score 字段值最大的前六個記錄信息。 SELECT * FROM [positor_table] ORDER BY [score] DESC LIMIT 6 游戲界面設(shè)計 開始界面 使用 SurfaceView將 圖 43中的未被按下的按鈕和圖 45游戲開始界面背景圖片 繪制成 游戲開始界面 圖 46。 圖 43 未被按下的按鈕圖標集圖 基于 Android 的飛機大戰(zhàn)游戲設(shè)計與開發(fā) 13 44 被按下的按鈕圖標集 圖 45 開始界面背景圖片 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 14 圖 46 開始界面 Android 應(yīng)用程序中 ,并沒有像 C++和 Java 這樣有 main 函數(shù)來作為應(yīng)用程序的入口 。Android 應(yīng)用程序提供的是入口 Activity,而非入口函數(shù) 。 文件中定義了整個 Android 應(yīng)用所包含的 中將 SkyGameStartActivity 設(shè)置為當前 SkyGame 啟動時,默認加載的 Activity,代碼如下: activity android:name=.SkyGameStartActivity android:launchMode=singleTask intentfilter action android:name=/ category android:name=/ /intentfilter /activity Activity 中注冊 layout 在 SkyGameStartActivity 的 onCreate 方法中設(shè)置要顯示的 layout,方法如下所示: protected void onCreate(Bundle savedInstanceState) { // TODO Autogenerated method stub (savedInstanceState)。 基于 Android 的飛機大戰(zhàn)游戲設(shè)計與開發(fā) 15 setContentView()。// 設(shè)置當前 activity 調(diào)用的layout //其他操作 } BroadcastReceiver 由于本應(yīng) 用是有多個 Activity 為了解決多個 Activity 在其中任意
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1