

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> XXXX學院</b></p><p><b> 計算機科學系</b></p><p> 《Android程序設(shè)計》課程設(shè)計報告</p><p> 題 目: 貪吃蛇 </p><p> 專 業(yè):計算機科學與技術(shù) </p>
2、<p> 班 級: B11計科班 </p><p><b> 2014年6月</b></p><p><b> 目錄</b></p><p><b> 第一章 緒論2</b></p><p><b> 1.1游戲簡介2<
3、;/b></p><p> 1.2開發(fā)目的及意義3</p><p> 1.3開發(fā)環(huán)境及工具3</p><p> 第二章 需求分析4</p><p> 2.1游戲界面分析4</p><p> 2.2游戲角色分析4</p><p> 2.3游戲控制分析4</p&g
4、t;<p> 第三章 總體設(shè)計5</p><p> 3.1系統(tǒng)功能模塊層次圖5</p><p><b> 3.2運行機制6</b></p><p> 3.3貪吃蛇功能流程圖7</p><p> 第四章 詳細設(shè)計與實現(xiàn)9</p><p> 4.1 SnakeAct
5、ivity類9</p><p> 4.2 MyTile類10</p><p> 4.3 NextActivity類18</p><p> 4.4 SysApplication類19</p><p> 4.5界面設(shè)計20</p><p><b> 第五章 測試26</b><
6、;/p><p> 5.1功能測試26</p><p> 5.4測試結(jié)果27</p><p><b> 第六章 結(jié)論27</b></p><p><b> 第一章 緒論</b></p><p><b> 1.1游戲簡介</b></p>
7、;<p> 貪吃蛇游戲是一款手機游戲,同時也是一款比較需要耐心的游戲。貪吃蛇游戲是一條蛇,不停地在手機屏幕上游走,吃在手機屏幕上出現(xiàn)的食物。當蛇吃掉1個食物后會變長,并且吃完食物時食物會消失,并立即隨機生成1個新的食物,只要蛇頭碰到屏幕四周或者碰到自己的身子,蛇就立即斃命。</p><p> 1.2開發(fā)目的及意義</p><p> 通過本次課程設(shè)計,了解android軟
8、件的開發(fā)過程,熟悉并掌握JAVA語言, 程序關(guān)鍵在于表示蛇的圖形及蛇的移動。用一個小矩形塊表示蛇的一節(jié)身體,身體每長一節(jié),增加一個矩形塊,蛇頭用一節(jié)表示。移動時必須從蛇頭開始,所以蛇不能向相反的方向移動,如果不按任意鍵,蛇自行在當前方向上前移,但按下有效方向鍵后,蛇頭朝著該方向移動,一步移動一節(jié)身體,所以按下有效方向鍵后,先確定蛇頭的位置,而后蛇的身體隨蛇頭移動。意義是方便人們在休閑時通過玩手機游戲獲得一點快樂,同時鍛煉自己的大腦。&l
9、t;/p><p> 1.3開發(fā)環(huán)境及工具</p><p> 在Window8下進行,采用eclipse開發(fā)工具,基于安卓2.2操作系統(tǒng)。</p><p><b> 環(huán)境搭建:</b></p><p><b> 1. JDK安裝</b></p><p> 2. Ecl
10、ipse安裝</p><p> 3. Android SDK安裝</p><p> 4. ADT安裝創(chuàng)建AVD</p><p><b> 第二章 需求分析</b></p><p><b> 2.1游戲界面分析</b></p><p> 操作界面應(yīng)該人性化設(shè)計,提
11、示玩家按什么按鍵開始游戲,開始游戲之后,在游戲界面中,以坐標的形式對整體界面進行劃分,將界面劃分為網(wǎng)格,還應(yīng)設(shè)計蛇的樣式,食物的樣式和墻的樣式,在蛇吃到食物后的樣式,還有游戲結(jié)束時的界面顯示,游戲結(jié)束后,要顯示所得的分數(shù)。</p><p><b> 2.2游戲角色分析</b></p><p> 設(shè)置游戲貪吃蛇初始時由固定小矩形塊組成,在游戲中,要隨機出現(xiàn)由單個矩形
12、塊構(gòu)成的食物,并且設(shè)置隨機出現(xiàn)的食物不要出現(xiàn)在蛇的身體中,在蛇吃到食物的時候,蛇的身體加長。此外,要判定游戲成功與失敗的條件,當蛇的頭和尾相撞或者蛇的頭部撞到了墻上,則游戲失敗,此時游戲結(jié)束,界面顯示所得分數(shù)。另外蛇的移動原理,由外部按鍵設(shè)置監(jiān)聽控制蛇頭的移動方向,在方向的指引下進行移動,蛇及食物的位置都是由坐標數(shù)組確定的,食物的位置也是隨機產(chǎn)生的蛇的移動原理是后一矩形塊覆蓋前一個矩形塊。當一個食物被吃掉的時候,要自動隨機生成并顯示下一
13、個食物的位置。這些都是在設(shè)計過程中需要實現(xiàn)的。</p><p><b> 2.3游戲控制分析</b></p><p> 游戲中需要通過按鍵對蛇的移動方位進行控制,共需要設(shè)置四個方位,分別是“東”“西”“南”“北”,在按鍵上用“上”“下”“左”“右”,按鍵與執(zhí)行部分涉及到監(jiān)聽,通過監(jiān)聽指示蛇的運動,此外,要設(shè)置蛇移動是的默認方向為“右”</p><
14、;p> ,蛇的移動只能是90度偏轉(zhuǎn),不能進行180度偏轉(zhuǎn)。此外還要設(shè)置游戲的狀態(tài),有運行和結(jié)束兩種狀態(tài),蛇體變長的時候用靜態(tài)變量進行加分。</p><p><b> 2.4 可行性分析</b></p><p> 貪吃蛇游戲是一種簡單的大眾的游戲,自從進入現(xiàn)代化以來,深受廣大電腦和手機玩家的喜愛,所以做一個簡單的貪吃蛇小游戲是有用的。 本次設(shè)計我主要運用
15、Java語言來完成。Java語言是一種跨平臺,適合于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言,用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上運行?! ∮捎贘ava主要用于網(wǎng)絡(luò)應(yīng)用程序開發(fā),因此對安全性有較高的要求。如果沒有安全保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險。Java通過自己的安全機制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。</p><p><b> 第三章 總體設(shè)計</b&
16、gt;</p><p> 3.1系統(tǒng)功能模塊層次圖</p><p> 工程中包括4個類,分別為SnakeActivity(主界面)、MyTile(游戲界面)、NextActivity(游戲結(jié)束界面)和SysApplication類,通過不同Activity之間的轉(zhuǎn)換實現(xiàn)不同界面之間的切換。SnakeActivity和NextActivity繼承了Activity類,MyTile類繼承
17、了View類,SysApplication類繼承了Application類。 SnakeActivity類是這個游戲的入口點, MyTile類進行游戲的繪畫和對游戲控制操作的處理。 Coordinate, MyHandler是 2個輔助類,是MyTile類中的內(nèi)部類。其中, Coordinate是一個點的坐標( x,y), MyHandler將 MyHandler對象綁定某個線程并給它發(fā)送消息。如下圖:</p><p
18、><b> 類圖</b></p><p><b> 3.2運行機制</b></p><p> 任何游戲都需要有個引擎來推動游戲的運行,在貪吃蛇這個游戲中,輔助類 MyHandler繼承自 Handler,用來把 MyHandler與當前線程進行綁定,從而可以直接給線程發(fā)送消息并處理消息。注意一點: Handle對消息的處理都是異步。
19、MyHandler在 Handler的基礎(chǔ)上增加 sleep()接口,用來每隔一個時間段后給當前線程發(fā)送一個消息。handleMessage()方法在接受消息后,根據(jù)當前的游戲狀態(tài)重繪界面。update()與 sleep()間接的相互調(diào)用就構(gòu)成了一個循環(huán)。由于 sleep()是個異步函數(shù),所以 update()與 sleep()之間的相互調(diào)用才沒有構(gòu)成死循環(huán)。運行機制如下:</p><p><b>
20、 活動圖</b></p><p> 3.3貪吃蛇功能流程圖</p><p><b> 詳細設(shè)計與實現(xiàn)</b></p><p> 4.1 SnakeActivity類</p><p> 程序的入口,程序的界面。</p><p><b> 代碼如下:</b&g
21、t;</p><p> 4.2 MyTile類</p><p> MyTile的基類是View,包含了貪吃蛇游戲畫面的各個設(shè)定參數(shù),主要負責繪制游戲畫面。還定義了游戲運行時的畫面改變及蛇體和食物的更新方法。MyTile類定義如下:</p><p> 4.3 NextActivity類</p><p> 游戲結(jié)束界面,游戲結(jié)束顯示游戲的
22、分數(shù),游戲提示,是否繼續(xù),是否退出。</p><p><b> 代碼如下:</b></p><p> 4.4 SysApplication類</p><p> 退出游戲時,推出整個應(yīng)用程序。</p><p><b> 代碼如下:</b></p><p><b&g
23、t; 4.5界面設(shè)計</b></p><p> 界面設(shè)計包括游戲主界面、游戲結(jié)束界面的設(shè)計。界面的設(shè)計采用的是xml文檔形式,在xml文檔中規(guī)劃好界面布局布局后,分別在java文件中聲明。</p><p> ?。?)游戲主界面,主界面采用線性布局設(shè)定,指定自定義的控件。其activity_snake.xml文檔如下:</p><p> 游戲結(jié)束界面
24、,其nextactivity.xml文檔定義如下:</p><p> 界面設(shè)計完成,但還有最重要的一步,就是將所有的Activity注冊到AndroidManifest.xml中。AndroidManifest.xml文檔如下:</p><p><b> 第五章 測試</b></p><p><b> 5.1功能測試</b
25、></p><p> 經(jīng)過在模擬器上的測試,本軟件能實現(xiàn)其功能,達到了小蛇在屏幕上的移動,小蛇吃食物,食物隨機出現(xiàn)的功能,當小蛇頭尾相撞或與墻相撞時,游戲結(jié)束.這些均在測試中得到驗證。</p><p><b> 游戲時</b></p><p><b> ?。?)結(jié)束時</b></p><p&g
26、t;<b> 5.4測試結(jié)果</b></p><p> 通過對游戲軟件的功能測試,控制測試和界面測試。對游戲的開始新游戲、退出和統(tǒng)計分數(shù)功能進行測試,并測試程序的鍵盤點擊事件,結(jié)論是該游戲軟件能正確實現(xiàn)功能要求。要求輸出的效果與預期的輸出效果完全一致。</p><p><b> 第六章 結(jié)論</b></p><p>
27、 這次Android課程設(shè)計讓我重新熟悉了Android工程的框架及設(shè)計的步驟,以及每個文件的作用,稍微掌握了一些View類的方法,同時也學到了更多的界面設(shè)計的方法,比如如何自定義視圖等。在學習、使用Java的過程中,進一步在總體上讓我對編程語言有了新的認識。在設(shè)計、調(diào)試、修改的過程當中,我對程序的設(shè)計與構(gòu)架在整體上有了進步。</p><p> 這次通過做Android課程設(shè)計,我完成了小游戲貪吃蛇的任務(wù)。在
28、整個過程中遇到了一些問題,如蛇頭怎樣移動,蛇的尾巴怎樣跟著移動,還有在默認情況下怎樣讓蛇自行移動、時間處理的機制和界面的設(shè)計問題,但最終部分被解決了,還有一些自己想到的功能,已經(jīng)去做了但還是出現(xiàn)問題,還沒能做出來,如暫停游戲、完成游戲獲得分數(shù)、存檔、游戲排名、蛇無效方向處理和加快蛇移動速度等,后面有時間的話,在繼續(xù)深入把沒有完成的功能做出來。</p><p> 在這一次的課設(shè)過程中,我查閱了相關(guān)的資料,對And
29、roid有了進一步的認識,希望以后可以用Android做出一款大型軟件,而不只是小游戲。Android讓我比較頭疼的是有些只是知道代碼的作用,卻不是很清楚硬件的工作原理,還有遇到一些問題就想放棄了,這是我今后要克服的。通過這次編程,還讓我認識到了自己的不足,在編程方面,我發(fā)現(xiàn)自己是剛剛?cè)腴T,對代碼還不是很熟悉,需要我不斷的充實自己,這樣才能在程設(shè)計方面有所收獲。</p><p> 參考文獻 [1] Andro
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貪吃蛇課程設(shè)計報告
- 貪吃蛇課程設(shè)計報告
- 貪吃蛇課程設(shè)計報告
- 貪吃蛇課程設(shè)計報告
- 貪吃蛇課程設(shè)計
- java貪吃蛇課程設(shè)計報告
- 貪吃蛇課程設(shè)計
- 貪吃蛇課程設(shè)計
- 貪吃蛇java課程設(shè)計--貪吃蛇程序設(shè)計
- java課程設(shè)計貪吃蛇
- java課程設(shè)計--貪吃蛇
- 安卓貪吃蛇課程設(shè)計報告
- 安卓貪吃蛇課程設(shè)計報告
- 貪吃蛇vc課程設(shè)計
- java課程設(shè)計報告貪吃蛇游戲
- java貪吃蛇游戲 課程設(shè)計
- java-課程設(shè)計--貪吃蛇
- c++課程設(shè)計----貪吃蛇
- c++貪吃蛇課程設(shè)計
- 貪吃蛇白盒測試課程設(shè)計
評論
0/150
提交評論