完整版)安卓游戲畢業(yè)設計論文_第1頁
完整版)安卓游戲畢業(yè)設計論文_第2頁
完整版)安卓游戲畢業(yè)設計論文_第3頁
完整版)安卓游戲畢業(yè)設計論文_第4頁
完整版)安卓游戲畢業(yè)設計論文_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、優(yōu)秀論文 未經允許 審核通過 切勿外傳知識不僅是指課本的內容,還包括社會經驗、 文明文化、時代精神等整體要素,才有競爭力,知識是新時代的資本,五六十年代人靠勤勞可以成事;今天的香港要搶知識,要以知識取勝大連民族學院本科畢業(yè)設計(論文)基于安卓的”經營冷飲店”游戲設計摘要隨著社會與科技的發(fā)展 人們越來越注重移動、便攜與方便 而隨著這股潮流的發(fā)展 手機應用游戲應運而生 安卓系統(tǒng)作為一個市場占有超過 50%的手機平臺 其應用游戲的發(fā)展非常迅猛本論文提出一款基于安卓系統(tǒng)的 經營冷飲店 游戲設計 并對其具體開發(fā)與實現(xiàn)進行了剖析 在游戲制作過程中 實現(xiàn)了用戶與手機之間的良好的人機交互 使用戶更好的參與到游

2、戲中去此款游戲為模擬經營類游戲 其內容主要包含 游戲開始 選擇游戲難度 玩家進貨、定價 游戲主畫面 游戲結束 這 5 個模塊主要介紹了每個模塊的功能 設計方法模塊和模塊之間的邏輯結構和數據處理本論文主要對此款游戲的總體設計 需求分析和內部數據的具體處理和計算進行了詳細的闡述 并對游戲的具體設計與實現(xiàn)進行了簡要的說明 在一定安卓理論的基礎上介紹了部分關鍵代碼與關鍵函數的應用 對游戲中應用到的相關計算機圖形學實現(xiàn)應用動畫的過程做了具體介紹最后展示成果截圖并對其進行簡單介紹 然后論文進行整體總結與歸納關鍵詞:游戲;安卓;人機交互The Subject of Undergraduate Graduat

3、ion Project (Thesis) of DLNU AbstractWith the development of society and technologygrowing emphasis as a market share over 50% of the mobile phone system the application of Android(1)現(xiàn)在第幾天NowdateNum1總資金sum_money1000甜甜圈售價donut_money0糖(庫存) sugar_num 0 面粉(庫存) flour_num 0 配料(庫存) other_num 0糖(食譜) sugar_c

4、ook_num 1 面粉(食譜) flour_cook_num 1 配料(食譜) other_cook_num 1 天氣 weather(2) 聲譽reputation 0 飲料數量 drinking_num 0 飲料定價 drinking_value 0 當前已售甜甜圈 sold_donut 0 當前已售飲料 sold_drink 02)中天氣的初值表 4.1 中( 1)處玩家選擇天數初值需要在玩家選擇時賦值; 是游戲每次隨機產生的4.2.2 玩家進貨價格生成在玩家進貨、定價管理界面 系統(tǒng)會隨機產生不同商品的當前進貨物價 每種商品物價范圍基本一致 其前三天價格初始化都是 1到 6 之間 但隨

5、著時間的推移 物價的波動會略微上調其計算方法如下:首先生成一個 1-6 的隨機價格 money判斷天數如果是 3 天后那么(4.1)money = money + money * ( nowDays Days )其中nowDays 為當前天數Days 為玩家選擇的總天數4.2.3 商品腐敗值計算方法商品的腐敗值每隔一天計算一次封裝在 donuts 類和 soft_drink 類里每過一天商品腐敗值會根據前一天天氣狀況來進行計算如果前一天天氣是晴天則腐敗值 donut_decay 或者 drink_decay 增加 100 如果前一天天氣下雨或者陰天則腐敗值 donut_decay 或者 dri

6、nk_decay 增加 50 如果前一天天氣為雪天則腐敗值 donut_decay 或者 drink_decay 增加 30 而當腐敗值大于等于 100 的商品 則從庫存里面刪除4.2.4 商店聲譽計算方法影響商店聲譽的主要是商品價格當商品為甜甜圈的時候 商品配料也同樣影響商品的聲譽在生成顧客 Person 類的初始化中 每個顧客類都會根據當天天氣狀況隨機生成需要購買的商品之后隨機生成最優(yōu)商品價格和可以忍受的最貴商品價格如果商品時甜甜圈則還需要隨機生成最優(yōu)配料數和可以忍受的最低配料數在這里配料數是指玩家在開始售貨之前設定的食譜中糖、面粉和配料數的總和隨機生成的商品最優(yōu)價格和可以忍受的最貴商品價

7、格是在一定范圍內生成的 而這個范圍是根據當前第幾天來設定的各種數據生成的計算公式如下:首先隨機生成數 n數 n 的范圍在 8-15 之間其次計算商品配料數 m:4.2 )Days )m = sugar + flour + other公式( 4.2 )中 sugar 代表食譜中的糖flour 代表食譜中的面粉other 代表食譜中的配料(1)飲料的最優(yōu)價格計算公式: drinkminMoney = n + n * ( nowDays(4.3)(2)飲料的可以忍受最貴價格計算公式:drinkmaxMoneydrinkminMoney1.5(4.4)(3) 甜甜圈最優(yōu)價格計算公式:4.5 )donu

8、tminMoney = n * m+ n * ( nowDays Days ) 公式( 4.5 )中因為甜甜圈是 3 種材料綜合生成 所以計算價格需要 n*m(4) 甜甜圈可以忍受最貴價格計算公式:* 1.5donutmaxMoney = donutminMoney(4.6)規(guī)定生成甜甜圈最佳配料數為 13-25生成甜甜圈最低配料數為 5-12 之間則當此顧客準備購買飲料時 需要先判斷用戶定價是否低于顧客預期可忍受的最貴價格 如果價格不能忍受則商店聲譽度 reputation = reputation - 1 并且顧客放棄購買此商品 若低于顧客預期可忍受的最貴價格 則判斷是否低于或等于顧客預期

9、的最優(yōu)價格 如果低于或等于最優(yōu)價格 則 reputation = reputation + 1若顧客購買甜甜圈則分 5 中情況討論:1) 難吃:商品價格在顧客預期最優(yōu)價格之內 但是甜甜圈配料數低于最低配料數 此時 聲譽減 12) 生氣:商品價格在顧客可以忍受價格之間 并且甜甜圈配料數低于最低配料數 此時聲譽減 23) 太貴:顧客購買前 判斷商品在其預期價格可以忍受價格之上 則顧客放棄購買聲譽減 14) 高興:商品價格在顧客預期最優(yōu)價格之內 并且商品配料在顧客預期最佳配料之上 則商店聲譽加 15) 普通:不屬于以上情況的即普通 商店聲譽不改變4.2.5 顧客購買率計算方法 顧客購買率主要根據商店

10、聲譽來計算的每天生成的顧客數量基本一致約為 360 人左右聲譽最大值為 100最小值為 0當聲譽小于 10 時10%的顧客會購買商品當聲譽大于等于 10 小于 20 時20%的顧客會購買商品當聲譽大于等于 20 小于 40 時30%的顧客會購買商品當聲譽大于等于 40 小于 60 時40%的顧客會購買商品 當聲譽大于等于 60 小于 80 時50%的顧客會購買商品當聲譽大于等于 80 時60%的顧客會購買商品5 游戲具體設計與實現(xiàn)5.1 游戲各 Activity 功能Android 應用最重要、最常見的組成單元為 ActivityActivity 對于An droid相當于 Servlet 對

11、于 Web應用的作用 Activity 可以看做一個畫面當建立一個新的 Activity 的時候 其實相當于建立一個全新的畫面 這個畫面有自己的生存周期 統(tǒng)一由 ActivityManager 進行管理Activity 的管理方式類似于棧最先啟動的 Activity最后關閉最后啟動的 Activity最先關閉5.1.1 開始 Activity開始 Activity 類名為 Start_Activity其布局在布局文件中加載有一個按鈕點擊進入新 Activity-選擇 Activity在開始 Activity 中 背景音樂開啟 一直持續(xù)到游戲結束 音樂大小用戶可以用手機自帶的音量調節(jié)鍵調節(jié)5.1

12、.2 選擇 Activity選擇 Activity 類名為 Choose_Activity 由布局文件夾 Layout 下布局的 xml 文件進行布局 主要功能為用戶選擇開店游戲天數SharedPreferences 也在此 Activity 中進行初始化 并存儲在其中數據也在此處進行初始化5.1.3 準備 Activity準備 Activity 的類名為 preActivity 此類主要是用戶進貨、定價操作界面 本類中也使用布局文件夾 Layout 下布局的 xml 文件進行布局 在類里添加監(jiān)聽器和處理此類運用 Android 中 TabHost 進行分頁設置 把一個 Activity 分成

13、兩部分 一部分為甜甜圈 一部分為冷飲在甜甜圈和冷飲部分上方都可看到當前資本與游戲當天天數和開業(yè)后天氣情況 用戶可以選擇需要進貨的商品選擇完畢之后選擇開業(yè)按鈕即可 如果選擇錯誤想要重新選擇 則可以點擊重置按鈕 則游戲會重置到之前沒有選擇時的狀態(tài)甜甜圈和冷飲部分數據分別為甜甜圈類 Donuts 和冷飲類 Soft_drink 分類暫存數 當用戶選擇 開業(yè) 按鈕時則之前用戶選擇的數據會提交到 SharedPreferences 的存儲文件中去 使得數據不會丟失5.1.4 游戲進行 Activity游戲進行 Activity 的類名為 GamingActivity 此類可以說是整個游戲的最重要部分 此

14、 Activity 主要加載了一個 SurfaceView 的類 整個繪畫背景天氣顧客購買的動畫和部分用戶操作都封裝在繼承了 SurfaceView 的 GamingSurfaceView 中SurfaceView 是 Android 中 View 類的子類View 是一個超類幾乎包含了所有屏幕類型每個 View 類都有一個繪畫的畫布SurfaceView 主要用于刷新較頻繁的動畫、游戲繪圖 它是一個新起的單獨線程而 View 則必須在 UI 主線程中更新畫面在 GamingSurfaceView 中首先建立一個線程以定時刷新畫面在刷新過程中每次調用 Draw 方法和 logic 方法 在 D

15、raw 方法中處理畫圖 從背景開、建筑物、商店到顧客購買時間等顧客和背景的畫圖是把畫筆和畫筆當做參數傳到 Person 類和 Background 類中 在這兩個類中分別都設置 draw 方法和 logic 方法 這樣使得畫圖的分工更加明確邏輯性更強在這個類中 用戶主要會觀察顧客購買情況 為了增加用戶的互動性 用戶可以隨時調整甜甜圈和飲料的出售價格 同時用戶可以點擊調整速度按鈕 控制游戲速度的快慢以便于觀察游戲中顧客的購買情況或者免于浪費更多的時間5.2 游戲中動畫原理實現(xiàn)5.2.1 圖片的加載Android 中位圖的渲染和操作主要是基于 Bitmap 的圖形類來進行An droid支持的圖片

16、格式有 pn g、jpg、bmp等其中尤以 png 格式 的圖片更加方便可以通過修改圖片調整圖片的透明度Android 的圖片加載主要通過畫布類 Canvas 來進行的Canvas 有一系列的方法可以進行繪制圖片本游戲中圖片都是通過 Canvas.drawBitmap ()方法進行繪制的 當圖片過大或者過小時Canvas 提供了一個縮放位圖的函數 對指定大小的矩形在畫布指定位置上進行縮放 但在操作前后需要加入 save ()和 restore ()兩個方法 分別用于保存當前畫布狀態(tài)和恢復上次保存畫布的狀態(tài)5.2.2 顧客的走動和購買的實現(xiàn)顧客走動圖片是一張包含顧客向右走動的所有動作幀每幀的大小

17、相同顧客不同動作之間間距相同且除了顧客本身以外其他部分都為透明的 png 格式圖片該圖片如圖 5.1 所示:圖 5.1首先參數 m_walkCurrentFrame 記錄顧客當前走路是哪一幀 順序應該為 0、1、2、1、 0、2、1、0、 2然后獲得圖片的寬 width則小人其中一幀的寬即為 framew = width 3再用 Canvas 方法 scale ()函數修改顧客的大小并用 Canvas 方法 clipRect ()設置一個寬高跟小人相同大小的可視區(qū)域 畫圖的時候按照設置的可視區(qū)域畫則顧客的另外 2 幀的圖片部分就被屏蔽了然后用 drawBitmap 方法進行繪制其中注意要根據當

18、前 m_walkCurrentFrame 是多少來繪制例如當 m_walkCurrentFrame 為 1 的時候即要顯示中間那幀不能直接使用需要顯示圖片的 x y 坐標 要使中間的圖片的左上角坐標為 x y 則要從 x- framew y 處開始繪制這樣由于之前已經剪切了一個可視區(qū)域 則圖片橫坐標 x- framew 到 x 處圖片是看不到的 x+framew 到 x+framew*2 是看不到的5 幀動作幀圖片同理 顧客購買物品的時候也是使用了一個包含顧客購買動作的 在此不再介紹5.2.3 下雨、下雪的背景實現(xiàn)下雨背景的實現(xiàn) 相當于滾動背景的實現(xiàn) 模擬雨水的圖片為一張 png 的用白色畫筆

19、畫出長短不一線段 其他地方都是透明的圖片然后生成 2 個 Bitmap 對象 圖片都加載雨水的圖片第一張圖片隨著時間推移向下移動 5 個單位 第二張圖片在屏幕正上方緊接著第一張 每次也移動 5 個單位 當任意一張圖片移動到屏幕之外 把該張圖片位置放到屏幕正上方 繼續(xù)向下移動 5 個單位下雪背景的與下雨背景的實現(xiàn)基本相同僅僅是圖片不同在此不作具體描述6 游戲實現(xiàn)及效果如圖 6.1 為游戲開始界面點擊圖中 開始游戲按鈕 進入選擇游戲天數界面圖 6.1如圖 6.2 所示為用戶選擇天氣界面其中有 5 個選項可供選擇用戶可按照自己意愿選擇游戲天數點擊按鈕后進入游戲準備界面圖 6.2如圖 6.3 與圖 6

20、.4 所示在游戲準備界面中用戶可以選擇冷飲或者甜甜圈選項卡在甜甜圈和冷飲選項卡中用戶可以根據第二天天氣情況決定進貨數量和食譜想要增加數量點擊+ 按鈕即可如果用戶想要重新選擇則選擇 重置 按鈕則可恢復當前界面中的選擇到原始狀態(tài)最后點擊 開業(yè) 按鈕進入游戲主邏輯畫面圖 6.3圖 6.4如圖 6.5 所示為游戲主邏輯畫面圖 6.5結論經過幾個月時間終于完成了 Android 系統(tǒng)的 經營冷飲店 游戲的設計與實現(xiàn)經過多次測試運行效果良好基本能滿足用戶聊天和休閑娛樂的需求在設計與實現(xiàn)此款游戲過程中設計游戲內容熟悉 Android 平臺開發(fā)令我話費較多時間和精力在開始編碼程序前期設計整體游戲框架結構給每個

21、模塊明確分工以面向對象的思想分析和解決問題的過程令我的編程思想有了較大的提升在編碼程序中期根據所準備的需求進行具體編寫代碼和功能實現(xiàn)遇到了較多的問題例如 Dialog 的監(jiān)聽包和 view 的監(jiān)聽包不能同時導入只能導入其中一個那么在這個 Activity 里面需要同時監(jiān)聽這兩種不同組件的解決方法; 由于 Activity 是棧式管理先打開的 Activity 最后關閉那么如果在任意一個 Activity 中隨意的關閉整個程序等等 手機內存空間有限 這就要求程序員進行優(yōu)化處理自身程序 在構建顧客對象過程中每天一般需要刷新 360 個顧客對象如果在初期直接創(chuàng)建 360 個對象 用戶等待時間會相當長 并且非常耗費內存資源 一般手機負荷不了 因此在創(chuàng)建顧客對象時分別創(chuàng)建了 2 組對象每組 10 人 當第一組最后一個顧客從左側走入屏幕后 第二組緊接著第一組最后一名顧客向右走 當第一組最后一名從屏幕右側走出屏幕 重新初始化第一組對象數據 等待第二組最后一名對象從左走入屏幕 第一組

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論