




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、優(yōu)秀論文 未經(jīng)允許 審核通過 切勿外傳知識不僅是指課本的內(nèi)容,還包括社會經(jīng)驗、 文明文化、時代精神等整體要素,才有競爭力,知識是新時代的資本,五六十年代人靠勤勞可以成事;今天的香港要搶知識,要以知識取勝大連民族學(xué)院本科畢業(yè)設(shè)計(論文)基于安卓的”經(jīng)營冷飲店”游戲設(shè)計摘要隨著社會與科技的發(fā)展 人們越來越注重移動、便攜與方便 而隨著這股潮流的發(fā)展 手機應(yīng)用游戲應(yīng)運而生 安卓系統(tǒng)作為一個市場占有超過 50%的手機平臺 其應(yīng)用游戲的發(fā)展非常迅猛本論文提出一款基于安卓系統(tǒng)的 經(jīng)營冷飲店 游戲設(shè)計 并對其具體開發(fā)與實現(xiàn)進行了剖析 在游戲制作過程中 實現(xiàn)了用戶與手機之間的良好的人機交互 使用戶更好的參與到游
2、戲中去此款游戲為模擬經(jīng)營類游戲 其內(nèi)容主要包含 游戲開始 選擇游戲難度 玩家進貨、定價 游戲主畫面 游戲結(jié)束 這 5 個模塊主要介紹了每個模塊的功能 設(shè)計方法模塊和模塊之間的邏輯結(jié)構(gòu)和數(shù)據(jù)處理本論文主要對此款游戲的總體設(shè)計 需求分析和內(nèi)部數(shù)據(jù)的具體處理和計算進行了詳細的闡述 并對游戲的具體設(shè)計與實現(xiàn)進行了簡要的說明 在一定安卓理論的基礎(chǔ)上介紹了部分關(guān)鍵代碼與關(guān)鍵函數(shù)的應(yīng)用 對游戲中應(yīng)用到的相關(guān)計算機圖形學(xué)實現(xiàn)應(yīng)用動畫的過程做了具體介紹最后展示成果截圖并對其進行簡單介紹 然后論文進行整體總結(jié)與歸納關(guā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 飲料數(shù)量 drinking_num 0 飲料定價 drinking_value 0 當(dāng)前已售甜甜圈 sold_donut 0 當(dāng)前已售飲料 sold_drink 02)中天氣的初值表 4.1 中( 1)處玩家選擇天數(shù)初值需要在玩家選擇時賦值; 是游戲每次隨機產(chǎn)生的4.2.2 玩家進貨價格生成在玩家進貨、定價管理界面 系統(tǒng)會隨機產(chǎn)生不同商品的當(dāng)前進貨物價 每種商品物價范圍基本一致 其前三天價格初始化都是 1到 6 之間 但隨
5、著時間的推移 物價的波動會略微上調(diào)其計算方法如下:首先生成一個 1-6 的隨機價格 money判斷天數(shù)如果是 3 天后那么(4.1)money = money + money * ( nowDays Days )其中nowDays 為當(dāng)前天數(shù)Days 為玩家選擇的總天數(shù)4.2.3 商品腐敗值計算方法商品的腐敗值每隔一天計算一次封裝在 donuts 類和 soft_drink 類里每過一天商品腐敗值會根據(jù)前一天天氣狀況來進行計算如果前一天天氣是晴天則腐敗值 donut_decay 或者 drink_decay 增加 100 如果前一天天氣下雨或者陰天則腐敗值 donut_decay 或者 dri
6、nk_decay 增加 50 如果前一天天氣為雪天則腐敗值 donut_decay 或者 drink_decay 增加 30 而當(dāng)腐敗值大于等于 100 的商品 則從庫存里面刪除4.2.4 商店聲譽計算方法影響商店聲譽的主要是商品價格當(dāng)商品為甜甜圈的時候 商品配料也同樣影響商品的聲譽在生成顧客 Person 類的初始化中 每個顧客類都會根據(jù)當(dāng)天天氣狀況隨機生成需要購買的商品之后隨機生成最優(yōu)商品價格和可以忍受的最貴商品價格如果商品時甜甜圈則還需要隨機生成最優(yōu)配料數(shù)和可以忍受的最低配料數(shù)在這里配料數(shù)是指玩家在開始售貨之前設(shè)定的食譜中糖、面粉和配料數(shù)的總和隨機生成的商品最優(yōu)價格和可以忍受的最貴商品價
7、格是在一定范圍內(nèi)生成的 而這個范圍是根據(jù)當(dāng)前第幾天來設(shè)定的各種數(shù)據(jù)生成的計算公式如下:首先隨機生成數(shù) n數(shù) n 的范圍在 8-15 之間其次計算商品配料數(shù) 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ī)定生成甜甜圈最佳配料數(shù)為 13-25生成甜甜圈最低配料數(shù)為 5-12 之間則當(dāng)此顧客準備購買飲料時 需要先判斷用戶定價是否低于顧客預(yù)期可忍受的最貴價格 如果價格不能忍受則商店聲譽度 reputation = reputation - 1 并且顧客放棄購買此商品 若低于顧客預(yù)期可忍受的最貴價格 則判斷是否低于或等于顧客預(yù)期
9、的最優(yōu)價格 如果低于或等于最優(yōu)價格 則 reputation = reputation + 1若顧客購買甜甜圈則分 5 中情況討論:1) 難吃:商品價格在顧客預(yù)期最優(yōu)價格之內(nèi) 但是甜甜圈配料數(shù)低于最低配料數(shù) 此時 聲譽減 12) 生氣:商品價格在顧客可以忍受價格之間 并且甜甜圈配料數(shù)低于最低配料數(shù) 此時聲譽減 23) 太貴:顧客購買前 判斷商品在其預(yù)期價格可以忍受價格之上 則顧客放棄購買聲譽減 14) 高興:商品價格在顧客預(yù)期最優(yōu)價格之內(nèi) 并且商品配料在顧客預(yù)期最佳配料之上 則商店聲譽加 15) 普通:不屬于以上情況的即普通 商店聲譽不改變4.2.5 顧客購買率計算方法 顧客購買率主要根據(jù)商店
10、聲譽來計算的每天生成的顧客數(shù)量基本一致約為 360 人左右聲譽最大值為 100最小值為 0當(dāng)聲譽小于 10 時10%的顧客會購買商品當(dāng)聲譽大于等于 10 小于 20 時20%的顧客會購買商品當(dāng)聲譽大于等于 20 小于 40 時30%的顧客會購買商品當(dāng)聲譽大于等于 40 小于 60 時40%的顧客會購買商品 當(dāng)聲譽大于等于 60 小于 80 時50%的顧客會購買商品當(dāng)聲譽大于等于 80 時60%的顧客會購買商品5 游戲具體設(shè)計與實現(xiàn)5.1 游戲各 Activity 功能Android 應(yīng)用最重要、最常見的組成單元為 ActivityActivity 對于An droid相當(dāng)于 Servlet 對
11、于 Web應(yīng)用的作用 Activity 可以看做一個畫面當(dāng)建立一個新的 Activity 的時候 其實相當(dāng)于建立一個全新的畫面 這個畫面有自己的生存周期 統(tǒng)一由 ActivityManager 進行管理Activity 的管理方式類似于棧最先啟動的 Activity最后關(guān)閉最后啟動的 Activity最先關(guān)閉5.1.1 開始 Activity開始 Activity 類名為 Start_Activity其布局在布局文件中加載有一個按鈕點擊進入新 Activity-選擇 Activity在開始 Activity 中 背景音樂開啟 一直持續(xù)到游戲結(jié)束 音樂大小用戶可以用手機自帶的音量調(diào)節(jié)鍵調(diào)節(jié)5.1
12、.2 選擇 Activity選擇 Activity 類名為 Choose_Activity 由布局文件夾 Layout 下布局的 xml 文件進行布局 主要功能為用戶選擇開店游戲天數(shù)SharedPreferences 也在此 Activity 中進行初始化 并存儲在其中數(shù)據(jù)也在此處進行初始化5.1.3 準備 Activity準備 Activity 的類名為 preActivity 此類主要是用戶進貨、定價操作界面 本類中也使用布局文件夾 Layout 下布局的 xml 文件進行布局 在類里添加監(jiān)聽器和處理此類運用 Android 中 TabHost 進行分頁設(shè)置 把一個 Activity 分成
13、兩部分 一部分為甜甜圈 一部分為冷飲在甜甜圈和冷飲部分上方都可看到當(dāng)前資本與游戲當(dāng)天天數(shù)和開業(yè)后天氣情況 用戶可以選擇需要進貨的商品選擇完畢之后選擇開業(yè)按鈕即可 如果選擇錯誤想要重新選擇 則可以點擊重置按鈕 則游戲會重置到之前沒有選擇時的狀態(tài)甜甜圈和冷飲部分數(shù)據(jù)分別為甜甜圈類 Donuts 和冷飲類 Soft_drink 分類暫存數(shù) 當(dāng)用戶選擇 開業(yè) 按鈕時則之前用戶選擇的數(shù)據(jù)會提交到 SharedPreferences 的存儲文件中去 使得數(shù)據(jù)不會丟失5.1.4 游戲進行 Activity游戲進行 Activity 的類名為 GamingActivity 此類可以說是整個游戲的最重要部分 此
14、 Activity 主要加載了一個 SurfaceView 的類 整個繪畫背景天氣顧客購買的動畫和部分用戶操作都封裝在繼承了 SurfaceView 的 GamingSurfaceView 中SurfaceView 是 Android 中 View 類的子類View 是一個超類幾乎包含了所有屏幕類型每個 View 類都有一個繪畫的畫布SurfaceView 主要用于刷新較頻繁的動畫、游戲繪圖 它是一個新起的單獨線程而 View 則必須在 UI 主線程中更新畫面在 GamingSurfaceView 中首先建立一個線程以定時刷新畫面在刷新過程中每次調(diào)用 Draw 方法和 logic 方法 在 D
15、raw 方法中處理畫圖 從背景開、建筑物、商店到顧客購買時間等顧客和背景的畫圖是把畫筆和畫筆當(dāng)做參數(shù)傳到 Person 類和 Background 類中 在這兩個類中分別都設(shè)置 draw 方法和 logic 方法 這樣使得畫圖的分工更加明確邏輯性更強在這個類中 用戶主要會觀察顧客購買情況 為了增加用戶的互動性 用戶可以隨時調(diào)整甜甜圈和飲料的出售價格 同時用戶可以點擊調(diào)整速度按鈕 控制游戲速度的快慢以便于觀察游戲中顧客的購買情況或者免于浪費更多的時間5.2 游戲中動畫原理實現(xiàn)5.2.1 圖片的加載Android 中位圖的渲染和操作主要是基于 Bitmap 的圖形類來進行An droid支持的圖片
16、格式有 pn g、jpg、bmp等其中尤以 png 格式 的圖片更加方便可以通過修改圖片調(diào)整圖片的透明度Android 的圖片加載主要通過畫布類 Canvas 來進行的Canvas 有一系列的方法可以進行繪制圖片本游戲中圖片都是通過 Canvas.drawBitmap ()方法進行繪制的 當(dāng)圖片過大或者過小時Canvas 提供了一個縮放位圖的函數(shù) 對指定大小的矩形在畫布指定位置上進行縮放 但在操作前后需要加入 save ()和 restore ()兩個方法 分別用于保存當(dāng)前畫布狀態(tài)和恢復(fù)上次保存畫布的狀態(tài)5.2.2 顧客的走動和購買的實現(xiàn)顧客走動圖片是一張包含顧客向右走動的所有動作幀每幀的大小
17、相同顧客不同動作之間間距相同且除了顧客本身以外其他部分都為透明的 png 格式圖片該圖片如圖 5.1 所示:圖 5.1首先參數(shù) m_walkCurrentFrame 記錄顧客當(dāng)前走路是哪一幀 順序應(yīng)該為 0、1、2、1、 0、2、1、0、 2然后獲得圖片的寬 width則小人其中一幀的寬即為 framew = width 3再用 Canvas 方法 scale ()函數(shù)修改顧客的大小并用 Canvas 方法 clipRect ()設(shè)置一個寬高跟小人相同大小的可視區(qū)域 畫圖的時候按照設(shè)置的可視區(qū)域畫則顧客的另外 2 幀的圖片部分就被屏蔽了然后用 drawBitmap 方法進行繪制其中注意要根據(jù)當(dāng)
18、前 m_walkCurrentFrame 是多少來繪制例如當(dāng) m_walkCurrentFrame 為 1 的時候即要顯示中間那幀不能直接使用需要顯示圖片的 x y 坐標(biāo) 要使中間的圖片的左上角坐標(biāo)為 x y 則要從 x- framew y 處開始繪制這樣由于之前已經(jīng)剪切了一個可視區(qū)域 則圖片橫坐標(biāo) x- framew 到 x 處圖片是看不到的 x+framew 到 x+framew*2 是看不到的5 幀動作幀圖片同理 顧客購買物品的時候也是使用了一個包含顧客購買動作的 在此不再介紹5.2.3 下雨、下雪的背景實現(xiàn)下雨背景的實現(xiàn) 相當(dāng)于滾動背景的實現(xiàn) 模擬雨水的圖片為一張 png 的用白色畫筆
19、畫出長短不一線段 其他地方都是透明的圖片然后生成 2 個 Bitmap 對象 圖片都加載雨水的圖片第一張圖片隨著時間推移向下移動 5 個單位 第二張圖片在屏幕正上方緊接著第一張 每次也移動 5 個單位 當(dāng)任意一張圖片移動到屏幕之外 把該張圖片位置放到屏幕正上方 繼續(xù)向下移動 5 個單位下雪背景的與下雨背景的實現(xiàn)基本相同僅僅是圖片不同在此不作具體描述6 游戲?qū)崿F(xiàn)及效果如圖 6.1 為游戲開始界面點擊圖中 開始游戲按鈕 進入選擇游戲天數(shù)界面圖 6.1如圖 6.2 所示為用戶選擇天氣界面其中有 5 個選項可供選擇用戶可按照自己意愿選擇游戲天數(shù)點擊按鈕后進入游戲準備界面圖 6.2如圖 6.3 與圖 6
20、.4 所示在游戲準備界面中用戶可以選擇冷飲或者甜甜圈選項卡在甜甜圈和冷飲選項卡中用戶可以根據(jù)第二天天氣情況決定進貨數(shù)量和食譜想要增加數(shù)量點擊+ 按鈕即可如果用戶想要重新選擇則選擇 重置 按鈕則可恢復(fù)當(dāng)前界面中的選擇到原始狀態(tài)最后點擊 開業(yè) 按鈕進入游戲主邏輯畫面圖 6.3圖 6.4如圖 6.5 所示為游戲主邏輯畫面圖 6.5結(jié)論經(jīng)過幾個月時間終于完成了 Android 系統(tǒng)的 經(jīng)營冷飲店 游戲的設(shè)計與實現(xiàn)經(jīng)過多次測試運行效果良好基本能滿足用戶聊天和休閑娛樂的需求在設(shè)計與實現(xiàn)此款游戲過程中設(shè)計游戲內(nèi)容熟悉 Android 平臺開發(fā)令我話費較多時間和精力在開始編碼程序前期設(shè)計整體游戲框架結(jié)構(gòu)給每個
21、模塊明確分工以面向?qū)ο蟮乃枷敕治龊徒鉀Q問題的過程令我的編程思想有了較大的提升在編碼程序中期根據(jù)所準備的需求進行具體編寫代碼和功能實現(xiàn)遇到了較多的問題例如 Dialog 的監(jiān)聽包和 view 的監(jiān)聽包不能同時導(dǎo)入只能導(dǎo)入其中一個那么在這個 Activity 里面需要同時監(jiān)聽這兩種不同組件的解決方法; 由于 Activity 是棧式管理先打開的 Activity 最后關(guān)閉那么如果在任意一個 Activity 中隨意的關(guān)閉整個程序等等 手機內(nèi)存空間有限 這就要求程序員進行優(yōu)化處理自身程序 在構(gòu)建顧客對象過程中每天一般需要刷新 360 個顧客對象如果在初期直接創(chuàng)建 360 個對象 用戶等待時間會相當(dāng)長 并且非常耗費內(nèi)存資源 一般手機負荷不了 因此在創(chuàng)建顧客對象時分別創(chuàng)建了 2 組對象每組 10 人 當(dāng)?shù)谝唤M最后一個顧客從左側(cè)走入屏幕后 第二組緊接著第一組最后一名顧客向右走 當(dāng)?shù)谝唤M最后一名從屏幕右側(cè)走出屏幕 重新初始化第一組對象數(shù)據(jù) 等待第二組最后一名對象從左走入屏幕 第一組
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 育嬰師安全意識考試試題及答案
- 系統(tǒng)規(guī)劃與管理師考試的資料準備與學(xué)習(xí)推進策略試題及答案
- 系統(tǒng)規(guī)劃與管理師考試中知識鞏固的有效策略試題及答案
- 牛排品牌測試題及答案
- 心態(tài)技能測試題及答案
- 科普2025鄉(xiāng)村全科執(zhí)業(yè)醫(yī)師考試知識試題及答案
- 藥劑類考試獨特策略試題及答案
- 莆田初三競賽試題及答案
- 統(tǒng)計學(xué)最難試題及答案
- 衛(wèi)生管理專業(yè)分析的證書考試試題及答案
- 云梯車作業(yè)交底
- 《孫權(quán)勸學(xué)》歷年中考文言文閱讀試題40篇(含答案與翻譯)(截至2024年)
- 全國飛盤運動競賽規(guī)則(試行)
- 新型可瓷化膨脹防火涂料的制備及性能研究
- DB11-T 367-2021 地下室防水技術(shù)規(guī)程
- 《機械設(shè)計課程設(shè)計》課程標(biāo)準
- 2025年貴州高速集團有限公司招聘筆試參考題庫含答案解析
- 2025版融資租賃合同履行監(jiān)管服務(wù)合同3篇
- 肺結(jié)核防治知識培訓(xùn)課件
- 《基于作業(yè)成本法的S公司物流成本分析研究》8300字(論文)
- 浙江省溫州市重點中學(xué)2025屆高三二診模擬考試英語試卷含解析
評論
0/150
提交評論