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

正文內(nèi)容

基于android系統(tǒng)的打氣球游戲的設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計(參考版)

2025-01-19 13:02本頁面
  

【正文】 由于我的學(xué)術(shù)水平有限,所做的畢業(yè)設(shè)計難免有不足之處,懇請各位老師和學(xué)友批評和指正!第 XLVI 頁 共 46頁??傊?,在即將畢業(yè)的之際,學(xué)校老師和同學(xué)給予我的無私幫助令我印象深刻,也讓我感受到了大學(xué)經(jīng)歷的可貴,這必將成為我人生中一段寶貴的回憶。感謝這篇論文所涉及到的各位學(xué)者。于老師的朋友Mars老師的教程視頻帶我走進(jìn)了Android的世界,同時學(xué)院也為我們提供了很好的學(xué)習(xí)環(huán)境,充分為我們考慮,讓我們能心無旁騖地完成畢業(yè)設(shè)計。電子工業(yè)出版社, 2011.[2] 郭金尚. Android經(jīng)典項(xiàng)目案例開發(fā)實(shí)戰(zhàn)寶典[M]. 北京. 清華大學(xué)出版社,2013.[3] [M]. 北京. 人民郵電出版社,2011.[4] 劉衛(wèi)國,姚昱禹. Android與J2ME平臺間即時通信的研究與實(shí)現(xiàn)[J]. 中南大學(xué),信息科學(xué)與工程學(xué)院,2008.[5] 張孝祥. Java就業(yè)培訓(xùn)教程[M]. 北京:清華大學(xué)出版社,2009:76243.[6] 余志龍. Google Android SDK開發(fā)范例大全[M]. 北京. 人民郵電出版社.[7] 策希納,格林. Android 4游戲入門經(jīng)典(第3版)[M]. 北京. 清華大學(xué)出版社,2013.[8] 孫曉宇. Android手機(jī)界面管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[M]. 北京郵電大學(xué),2009.[9] 孔令德. 畢業(yè)設(shè)計案例教程—從系統(tǒng)開發(fā)到論文寫作[M]. 北京. 國防工業(yè)出版社,2007.[10] 施伯樂,丁寶康,汪衛(wèi). 數(shù)據(jù)庫庫系統(tǒng)教程[M] . 北京. 高等教育出版社,2003,8:170432.[11] 和凌志. 郭世平. 手機(jī)軟件平臺架構(gòu)解析第二版[M]. 北京. 電子工業(yè)出版社,2009:4978.[12] 雨萍.諾基亞:從“王者”到“平民”[J]. 軟件工程師,2012,Z1:1315.[13] 李寧. Android應(yīng)用開發(fā)實(shí)戰(zhàn)(第2版)[M]. 北京. 機(jī)械工業(yè)出版社,2012.[14] 王言行. Java語言與面向?qū)ο蟪绦蛟O(shè)計[M]. 北京. 清華大學(xué)出版社,2010:202285.[15] 楊豐盛. Android應(yīng)用開發(fā)揭秘[M]. 北京. 機(jī)械工業(yè)出版社,2010.[16] 胡偉. Android系統(tǒng)架構(gòu)及其驅(qū)動研究[J]. 廣州廣播電視大學(xué)學(xué)報,2008.[17] Marko Gargenta. Learning Android[M]. USA. O’reilly Media,2011.[18] Jeff Friesen. Learn Java for Android Developmet. USA. Apress,2010.[19] Satya Komatineni,Dave Maclean. Pro Android 4. USA. Apress,2012. 致謝本次畢業(yè)設(shè)計,我在我的導(dǎo)師于一老師的指導(dǎo)下完成。值得自己銘記。 對于未來希望自己做一個技術(shù)比較過硬的IT編程人員能夠?qū)⒃O(shè)計模式融會貫通到自己的代碼中希望自己能夠有一個讓人一看就一目了然的編程風(fēng)格。 這個項(xiàng)目是我個人編程經(jīng)歷的一個節(jié)點(diǎn)也是從這個項(xiàng)目之后我正式進(jìn)入公司實(shí)習(xí)真正的進(jìn)入了IT這個行業(yè)。經(jīng)過自己認(rèn)真研究攻克的技術(shù)點(diǎn)總是會給人以很大的信心繼續(xù)走下去它所帶來的那種成就感是難以用語言名狀的。 當(dāng)時在編寫這個應(yīng)用的時候遇到過很多的問題有技術(shù)性的問題有性能性的問題各種常見的異??罩羔様?shù)組越界等問題。但是有些測試用例可能過于簡單只能一部分一部分測試每個模塊的細(xì)節(jié)功能,對整個模塊的整體測試用例設(shè)計的不夠多,這個本測試部分應(yīng)該更加強(qiáng)化的一點(diǎn)。實(shí)際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進(jìn)行測試?!昂诤小狈ㄖ塾诔绦蛲獠拷Y(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對軟件界面和軟件功能進(jìn)行測試。 測試的方法黑盒測試:黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。(7).回歸測試的關(guān)聯(lián)性一定要引起充分的注意,修改一個錯誤而引起更多的錯誤出現(xiàn)的現(xiàn)象并不少見。(5).對測試錯誤結(jié)果一定要有一個確認(rèn)的過程,一般有A測試出來的錯誤,一定要有一個B來確認(rèn),嚴(yán)重的錯誤可以召開評審會進(jìn)行討論和分析。(3).設(shè)計測試用例時應(yīng)該考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況要制造極端狀態(tài)和意外狀態(tài),比如網(wǎng)絡(luò)異常中斷、電源斷電等情況。本模塊運(yùn)行界面如下圖所示: 分?jǐn)?shù)統(tǒng)計截圖 6 系統(tǒng)測試 軟件測試的原則(1).應(yīng)當(dāng)把“盡早和不斷的測試”作為開發(fā)者的座右銘。 float textlong = (總分:+(score))。 (exitGame,screen_width/2strwid/2,button_y2+()/2 + strhei/2, paint)。 //返回包圍整個字符串的最小的一個Rect區(qū)域 (startGame, 0, (), rect)。 // 繪制背景圖 ()。 (scalex, scaley, 0, 0)。 ()。 實(shí)現(xiàn)方法,()參數(shù)為false時,即為玩家所駕駛的飛機(jī)因?yàn)樽矒舻綌硻C(jī)而死亡,此時通過Handler發(fā)出的消息,程序進(jìn)入EndView中,在本模塊中畫筆繪制開場動畫背景及按鈕;畫筆繪制玩家游戲最終得分。但是如何提取游戲操作模塊的分?jǐn)?shù)是一個問題,應(yīng)通過一個華麗的界面將獲取到的界面展示給用戶。游戲道具難度介紹如下表所示: 道具難度說明表道具名稱速度初次出現(xiàn)時得分血量/攻擊力游戲中道具數(shù)量(含不可視)小型敵機(jī)(8) + 8 * speedtime018中型敵機(jī)(2) + 6 * speedtime10000154大型敵機(jī)(2) + 4 * speedtime25000302BOSS敵機(jī)6800005001清屏導(dǎo)彈30000All強(qiáng)力子彈200001amp。通過speedtime的提升可以加快游戲的速度,從而增加難度。游戲的節(jié)奏,難度階梯等方面很大程度上要依靠關(guān)卡來控制。在這個舞臺上,玩家表面上擁有有限的自由,而實(shí)際上關(guān)卡設(shè)計師通過精心布置,來把握玩家和游戲的節(jié)奏并給與引導(dǎo),最終達(dá)到一定的目的。其次,游戲不能設(shè)計的過于難,玩家會在游戲的開始就沒有信心玩下去。 因?yàn)橹饚瑒赢嫷膸蛄袃?nèi)容不一樣,不但給制作增加了負(fù)擔(dān)而且最終輸出的文件量也很大,但它的優(yōu)勢也很明顯:逐幀動畫具有非常大的靈活性,幾乎可以表現(xiàn)任何想表現(xiàn)的內(nèi)容,而它類似與電影的播放模式,很適合于表演細(xì)膩的動畫。函數(shù)圖如下所示: “”函數(shù)圖顯示效果如下圖所示: 飛機(jī)大戰(zhàn)游戲操作初始化界面(2)本模塊最重要的功能就是動畫的繪制,通過一幀動畫的繪制可以形成一個靜態(tài)的圖片,但是如果多幀圖片不停的繪制,在玩家的眼中看來就是一個動畫。當(dāng)敵機(jī)只要出現(xiàn)在子彈圖片范圍內(nèi),根據(jù)子彈威力選擇掉血或者爆炸。飛機(jī)具有多樣性供玩家選擇,飛機(jī)可以升級子彈威力、飛機(jī)可以改變子彈類型、還能出現(xiàn)大招即飛機(jī)有清屏導(dǎo)彈。通過開始之前和可是之后的對系統(tǒng)時間的抓取,然后在本次運(yùn)行結(jié)束之后,進(jìn)行本次繪制這些圖片的時間進(jìn)行一個邏輯判斷,然后通過判斷設(shè)置一個合理的時間間隔可以重新繪制圖片,游戲的進(jìn)行其實(shí)就是對屏幕不停的繪制的過程。 實(shí)現(xiàn)方法。道具設(shè)計是一個方面,道具整合一起的操作設(shè)計才是重點(diǎn)。此子模塊是本系統(tǒng)的核心模塊,所以整個系統(tǒng)的設(shè)計優(yōu)良與否很大程度上取決此模塊的設(shè)計。 isVisible。 !isExplosion amp。 } // 判斷能否被檢測碰撞 public boolean isCanCollide() { // TODO Autogenerated method stub return isAlive amp。 () + () = object_y) { return false。 } // 矩形1位于矩形2的下方 else if (() = object_y amp。amp。 () + () = object_x) { return false。 } // 矩形1位于矩形2的右側(cè) else if (() = object_x amp。amp。下面以敵機(jī)與子彈碰撞為例,展示一下碰撞檢測。無論是子彈與敵機(jī)的碰撞,是不導(dǎo)致敵機(jī)血量減少還是敵機(jī)與玩家飛機(jī)的碰撞,是否導(dǎo)致玩家飛機(jī)的墜毀。 isAlive = false。 if(currentFrame = 3){ currentFrame = 0。 ()。 (object_x,object_y,object_x + object_width,object_y + object_height)。 } else{ int y = (int) (currentFrame * object_height)。 ()。 (object_x,object_y,object_x + object_width,object_y + object_height)。下面以小型敵機(jī)為例,展示下功能實(shí)現(xiàn)方法。: 道具對象繼承關(guān)系圖(2) 具體到每個類到實(shí)現(xiàn)函數(shù),包括數(shù)據(jù)初始化,圖片資源初始化,繪圖函數(shù),碰撞檢測函數(shù)。為游戲的順利運(yùn)行提供了堅實(shí)的基礎(chǔ)。 實(shí)現(xiàn)方法,包下集成了眾多的類名定義。將道具可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護(hù)的接口訪問其他對象。通過對飛機(jī)炮彈等抽象的實(shí)現(xiàn),可以完美的做到封裝。 問題分析對于這些道具的制造,可以充分運(yùn)用Java面向?qū)ο蟮脑?,將每個對象分別抽象化,忽略一個道具中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。在游戲的進(jìn)行中,還要根據(jù)玩家的水平隨時出現(xiàn)不同的敵機(jī),并且要控制敵機(jī)的數(shù)量。(planefly, fly_x, fly_y currentFrame * fly_height,paint)。//飛機(jī)飛行的動畫()。 //開始游戲的按鈕(startGame, screen_width / 2 strwid / 2, button_y+ () / 2 + strhei / 2, paint)。 ()。(scalex, scaley, 0, 0)。()。(2) 程序通過調(diào)用ReadView來進(jìn)行過場動畫界面的初始化操作,在ReadView類中進(jìn)行初始化時,首先加載圖片資源,然后通過計算屏幕的比例,將圖片資源使用畫筆畫到屏幕上,因考慮到動態(tài)的操作,所有的畫圖操作均在線程中進(jìn)行定時操作,每隔一定的時間根據(jù)當(dāng)前的狀態(tài)重新繪制一次,然后通過MotionEvent方法進(jìn)行定向坐標(biāo)的按鈕操作,然后發(fā)送消息給消息隊列,從而方便Handler操作。 } else if( == ){ endGame()。Handler的具體實(shí)現(xiàn)核心代碼如下所示:private Handler handler = new Handler(){ Override public void handleMessage(Message msg){ if( == ){ toMainView()。: Handler運(yùn)行機(jī)制(1)程序運(yùn)行的入口Activity為MainActivity,在此Activity中的onCreate通過對GameSoundPool來創(chuàng)建一個聲音對象,()初始化當(dāng)前聲音對象的聲音資源文件。 在初始化Handler對象時重寫的handleMessage方法來接收Message并進(jìn)行相關(guān)操作。當(dāng)然,Handler對象是在主線程中初始化的,因?yàn)樗枰壎ㄔ谥骶€程的消息隊列中。 實(shí)現(xiàn)方法在Android中,對于UI的操作通常需要放在主線程中進(jìn)行操作。對于用戶來說,應(yīng)用看起來像是卡住了。結(jié)果就是,響應(yīng)系統(tǒng)回調(diào)的方法,永遠(yuǎn)都是在UI線程里運(yùn)行。所以main thread也叫UI thread也即UI線程。當(dāng)應(yīng)用啟動,系統(tǒng)會創(chuàng)建一個主線程(main thread)。這就對Surface view繪圖提出了一個高要求。 開場動畫模塊 問題描述開場動畫模塊為整個游戲的入口,在本入口提供給玩家開始游戲、退出游戲的按鈕,本模塊實(shí)現(xiàn)的一個大功能就是如何為按鈕實(shí)現(xiàn)功能,因?yàn)榘粹o為圖片控件,并不能通過綁定監(jiān)聽器的方法來做到。本部分名為詳細(xì)設(shè)計,但是一定要詳詳細(xì)細(xì)的描述出所有的細(xì)節(jié)問題是很有難度的,在這里只是把最主要的問題抽出來詳細(xì)說明,有些細(xì)節(jié)問題的描述可能會被忽略掉,但是會提到其作用的。 // 繪制文字的區(qū)域public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, i
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1