付費下載
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、綜合課程設計()題目Andorid 的掃雷的設計與實現(xiàn)二級學院計算機科學與專業(yè)工程級111030802班學號 11103080205 學生指導教師 時間2014-10目錄摘要3ABSTRACT4緒論5研究背景和意義5安卓的發(fā)展現(xiàn)狀6本文主要工作6本章小結7. 8概述8. 8設計模式82.4 本章小結9系統(tǒng)需求分析10需求概述10主要業(yè)務流程11本章小結143系統(tǒng)設計15系統(tǒng)設計總體概述15設計理念15總體描述15本章小結17系統(tǒng)實現(xiàn)18系統(tǒng)實現(xiàn)總體概述18實現(xiàn)理念185.1.2環(huán)境18代碼層次18關鍵功能實現(xiàn)23本章小結30系統(tǒng)測試與效果評估31系統(tǒng)測試總體概述31測試與分
2、析31本章小結337 總結34致 謝35參 考 文 獻36摘要掃雷是一個簡單的單人的目的是在沒有觸碰任何一個的情形下清空一個雷區(qū)。在掃雷中,者要面對一片磚塊組成的格柵,有些磚塊包含隨機設置的。在掃雷的界面中,由眾多面積均等的小方塊所組成的區(qū)域稱之為雷區(qū),雷區(qū)的大小由程序設置的等級決定.開始時,系統(tǒng)會在雷區(qū)的某些小方塊中隨機布下若干個。安放好地雷的小方塊稱之為雷方塊,其他的稱之為非雷方塊。部署完畢后,系統(tǒng)會在其他非雷方塊中填充一些數(shù)字。某一個具體數(shù)字表示與其緊鄰的 8 個方塊中有多少個雷方塊。玩家可以根據(jù)這些信息去判斷是否可以打開某些方塊,并把認為是的方塊打上標識。當玩家將所有找出后,其余的非雷
3、方塊區(qū)域都已打開,此時結束。在過程中,一旦錯誤地打開了雷方塊則立即失敗,結束;當玩家標識的數(shù)超過程序設定,雖然打開了全部其余方塊,仍然不會結束。在開始后,雷區(qū)上方有兩個計數(shù)器。右邊的計數(shù)器顯示用戶掃雷所花費的總時間,以秒為;左邊的計數(shù)器顯示當前余多少個雷方塊。本文是以Android 開發(fā)環(huán)境寫機掃雷,主要實現(xiàn)以下工作:1.用數(shù)據(jù)庫。2.用XML 編寫背景布局文件。3.用 Random 隨機生成雷。4.分別有聲音和背景音樂的實現(xiàn)。5.退出時完全退出關鍵字:XML、掃雷AbstractMinesper is a simple single-player game.inesper game, the
4、 playerines random settings. Inhas to face consisting of a brick grill, some bricks contaMinesper gameerface, the area by the large number of small squares of equalsize consisting called minefields, mined by the program set the size of the game ratingdeci.When the game starts, the system will random
5、ly planted several minesinedareas in some small box. Good landmines placed a small box called Ray box, the other is called non-Ray box. After the deployment is complete, the system will fill some of the figures in the other non-Ray box. On a specific number indicates how many squares and its adjacen
6、t mine eight boxes have. Players can use these information to judge whether you can open some box and put the box marked considered landmines identified. When the players will find all mines, and the rest of the non-Ray box area are open, then the game is over.During the game, once mistakenly opened
7、 the box immedia y fail mine, endingthe game; players when the number of mines identified morealthough open all the rest of the box, the game is still not over.n programmed,After the start of the game, the top of the minefields have two counters. The right ofthe counter shows the total time it takes
8、 users to mine clearance, in seconds; the leftcounter displays the current number still remaining tder box. This article is basedon Android development environment to write mobile minesachievement of the following:per game, the main1.database to store the game wirecord.2 prepare background layout fi
9、le using XML. 3 randomly generated mine with Random.respectively game sounds and background music to achieve.exit compley out of the gameKeywords: XMLMinesper1 緒論1.1 研究背景和意義隨著無線移動設備的發(fā)展,也日益普及,Android 系統(tǒng)的推出使的發(fā)展進入到了一個新的領域。Android(安卓)系統(tǒng)正在成為全球最受歡迎的應用之一,每天 70 萬部 Android的激活量直接預示著,其未來的發(fā)展格局無疑將成為相關產(chǎn)業(yè)競相追逐的對象和焦
10、點。但是,殊不知隨著 Android 的迅猛發(fā)展,其最大的隱患短缺問題越發(fā)的嚴重,已逐漸上升為整個產(chǎn)業(yè)發(fā)展的瓶頸。對于 Android 的發(fā)展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講,隨大的受益正是豐富的資源。開放的也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀機。在過去很長的一段時間,特別是在歐美地區(qū),應用往往受到運營商制約,使用什么功能接入什么網(wǎng)絡,幾乎都受到運營商的控制。從去年上市,用戶可以更加方便地連接網(wǎng)絡,運營商的制約減少。隨著 EDGE、HSDPA 這些 2G 至 4G 移動網(wǎng)絡的逐步過渡和,隨意接入網(wǎng)絡已不是運營商口中的笑談。互聯(lián)網(wǎng)巨頭推動
11、的 Android 終端天生就有網(wǎng)絡特色,將讓用戶離互聯(lián)網(wǎng)更近。當前,Android 在國內(nèi)的迅速發(fā)展才起步,預計隨著 HTC 進入,以及酷派、中興等終端廠商的發(fā)力移動 OPhone2.0 和uniplus 等的上市,Android市場的銷量在未來還將有較大發(fā)展空間。世界上一些知名的移動設備生產(chǎn)廠商對于 Android 智能機的開發(fā)熱情也日益提高,Android 系統(tǒng)的使用人群正在急速,Android 應用程序的多樣化對人們快速獲取資訊以及方便人們的生活起著不可忽視的作用,近年來 Android 得到了社會的認同和應用,本文對基于、Android上的設計進行了研究,通過在 PC 機上搭建 An
12、droid 開發(fā)環(huán)境,并在該上進行掃雷的程序開發(fā)。1.2 安卓的發(fā)展現(xiàn)狀1.將向專業(yè)化、大規(guī)模化方向發(fā)展隨著各對 OpenGLES 支持能力的大力加強,使得開發(fā)復雜的 3D 場景成為可能。顯示對 Android 的支持,硬件性能將不再成為制約專業(yè)化游戲發(fā)展的瓶頸。越來越多在 PC、PSP、PS3、XBOX360 等各占有領先地位的專業(yè)公司將向 Android 等領域快速滲透,使得的規(guī)劃更加向專業(yè)化方向發(fā)展。2.將向網(wǎng)絡化方向發(fā)展隨著各對無線通信網(wǎng)絡、WIFI 網(wǎng)絡、藍牙網(wǎng)絡的良好支持,將創(chuàng)新出更好的性和用戶本驗。,多人,聯(lián)機對戰(zhàn)等將進一步強化玩家對的粘著度,并且容易通過對等的控制產(chǎn)生模式。玩家
13、之間對交互能力的需求也會促成未來的向網(wǎng)絡化發(fā)展進程的加快。1.3 本文主要工作本文的目的在于實現(xiàn)基于安卓開發(fā)掃雷,使安卓開發(fā)能更好、更快的向前發(fā)展。本文設計的安卓掃雷,目前還尚未成熟,只涉及到了一個完整安卓掃雷的主要部分,其他一些部分由于時間關系并未實現(xiàn)。本篇的主要內(nèi)容如下:1 介紹了安卓掃雷的開發(fā)背景和必要性,并針對其當前的發(fā)展現(xiàn)狀,掃雷的可行性進行了分析。2 對安卓掃雷開發(fā)所涉及的技術框架進行了簡單闡述,并說明了使用這些術框架的優(yōu)勢。3 詳細分析了安卓掃雷的行業(yè)特征與系統(tǒng)需求。并采用面象的方法, 對需求分析進行了系統(tǒng)的描述。4 詳細闡述了系統(tǒng)架構,并說明了設計緣由。采用 UML 對系統(tǒng)設計
14、進行進行了分析與建模。5 對系統(tǒng)主要模塊的編碼實現(xiàn)進行了說明和分析。并介紹了相關的實現(xiàn)方法與技巧。6 對系統(tǒng)主要功能及性能進行了測試與分析,并對測試效果進行了評估。7 在系統(tǒng)需求分析,設計實現(xiàn)與測試的基礎上,對系統(tǒng)進行了總結和展望。1.4 本章小結本章首先對安卓掃雷的概念進行了闡述,然后說明了當前安卓掃雷的發(fā)展現(xiàn)狀以及安卓掃雷在中的作用,并分析研究了當前國內(nèi)安卓掃雷的發(fā)展狀態(tài)及問題 。22.1安卓掃雷概述的設計與實現(xiàn)采用了面象的進行分析和設計,介紹系統(tǒng)在設計與實現(xiàn)的過程中設計的和框架。2.2Andriod 的較大的數(shù)據(jù)處理提供了,他在數(shù)據(jù)、管理、等各方面都相當出色,功能也非常的強大。從Andr
15、oid 項目實戰(zhàn) 、Android 應用 、Android 編程經(jīng)典 200 例學習到了如何使用開發(fā)深入學習,知道它具備下列特點:1.輕量級:使用只需要帶一個動態(tài)庫,就可以享受它的全部功能,而且那個動態(tài)庫的尺寸想當小。2.獨立性裝”。數(shù)據(jù)庫的引擎不需要依賴第,也不需要所謂的“安3.性:數(shù)據(jù)庫中所有的信息(比如表、視圖、觸發(fā)器等)都包含在一個文件夾內(nèi),方便管理和。4.跨:目前支持大部分操作系統(tǒng),不至電腦操作系統(tǒng)更在眾多機系統(tǒng)也是能夠運行,比如:Android。多語言接口:安全性:數(shù)據(jù)庫支持多語言編程接口。數(shù)據(jù)庫通過數(shù)據(jù)庫級上的獨占性和共享鎖來實現(xiàn)獨立事務處理。這意味著多個進程可以在同一時間從同一
16、數(shù)據(jù)庫數(shù)據(jù),但只能有一個可以寫入數(shù)據(jù)。2.3設計模式為了使本安卓掃雷的靈活性與擴展性更好。從設計模式書中知道,在分析與設計的過程中使用了單例的設計模式。單例模式保證一個類僅有一個實例,并提供一個它的全局點。單例模式的要點有三個:一是某個類只能有一個實例;二是它必須自行創(chuàng)建這個實例;三是它必須自行向整個系統(tǒng)提供這個實例。從具體實現(xiàn)角度來說,就是以下三點:一是單例模式的類只提供私有的構造函數(shù),二是類定義中含有一個該類的靜態(tài)私有對象,三是該類提供了一個靜態(tài)的共有的函數(shù)用于創(chuàng)建或獲取它本身的靜態(tài)私有對象。單例模式會其他對象實例化其自己的單例對象的副本,從而確保所有對象都唯一實例。因為類控制了實例化過程
17、,所以類可以靈活更改實例化過程。圖 2-7 描述了命令模式中各類之間的關系:圖 2-3 單例模式類圖2.4 本章小結本章圍繞本安卓掃雷開發(fā)過程中所用到的各種開發(fā)技術做了具體的分析,主要針對和安卓掃雷使用的設計模式進行了研究。3系統(tǒng)需求分析3.1 需求概述需求分析是開發(fā)中最重要也是最難的一個環(huán)節(jié),需求分析的好壞直接決定了一個系統(tǒng)的成敗。掃雷是一種具有迷惑性的對和推理能力的簡單測試,并經(jīng)過認真仔細的分析,找出空方塊,同時避免觸雷。主要分為模式選擇、重置、音樂操作、查看,通過分析得出了的用例圖,如圖 3-1 所示:用戶可對背景音樂進行打開、關閉、切換音樂的操作。3. 重置用戶結束后,可點擊笑臉開始新
18、。4. 查看最高用戶點擊菜單,查看最高。3.2 主要業(yè)務流程經(jīng)過分析得出了掃雷的整體業(yè)務流程,其中包括失敗、成功、切換音樂、查看等。詳細描述了用戶玩的業(yè)務流程。1.失敗的時序圖,如圖 3-23.用戶點擊笑臉開始玩。4.用戶點中雷,結束。5.用戶退出2.成功的時序圖,如圖 3-37.退出。3.切換音樂的時序圖,如圖 3-44 系統(tǒng)設計4.1 系統(tǒng)設計總體概述4.1.1 設計理念本設計的是面象。在設計與實現(xiàn)的過程中使用了大量的設計模式因此系統(tǒng)具有以下優(yōu)點:4.1.2 總體描述本文設計的掃雷目前包含模塊它們分別是:本菜單操作模塊音樂操作模塊模式選擇模塊的功能是由這些模塊協(xié)作完成的。由于各個模塊之間耦
19、合性很低,所以又保證了各個功能的獨立性。易采用面象設計的結構,可讀性高,由于繼承的存在,即使改變需求,那么也只是在局部模塊,所以起來是非常方便和較低成本的質量高在設計時,可重用現(xiàn)有的,在以前的項目的領域中已被測試過的類,使系統(tǒng)滿足業(yè)務需求并具有較高的質量。效率高在 開發(fā)時,根據(jù)設計的需要對現(xiàn)實世界的事物進行抽象,產(chǎn)生類。使用這樣的方法解決問題,接近于日常生活和自然的思考方式,勢必提高 開發(fā)的效率和質量。易擴展由于繼承、封裝、多態(tài)的特性,自然設計出高內(nèi)聚、低耦合的系統(tǒng)結構,使得系統(tǒng)更靈活、更容易擴展,而且成本較低。該的系統(tǒng)架構圖,如圖 4-1:5 系統(tǒng)實現(xiàn)5.1 系統(tǒng)實現(xiàn)總體概述5.1.1 實現(xiàn)
20、理念代碼風格是編碼過程中的一個重要方面,它直接影響代碼的質量和可讀性,也直接影響著后期的性,好結構的代碼能讓人更容易理解。本在編碼實現(xiàn)的過程中采用模板編程,使用代碼使代碼的風格盡量。同時代碼的實現(xiàn)的過程中盡量采用健壯靈活的編碼方式,使本游戲的擴展性和靈活性更高。本使用面象的方式進行編程,代碼實現(xiàn)的過程中有使用設計模式對代碼進行封裝優(yōu)化。5.1.2環(huán)境操作系統(tǒng):WindowsJava 開發(fā)環(huán)境:Eclipse8.6、JDK1.6數(shù)據(jù)庫:5.1.3 代碼層次src 文件:主要用來存放源文件。R.java 文件:由 Eclipse 自動生成,應用開發(fā)者不能改變里面的內(nèi)容。assets 目錄:主要存放
21、一些多文件。res 目錄:主要存放一些資源文件。drawable 目錄:主要放置用到的資源。layout 目錄:主要放置用到的布局文件。目錄:主要放置設計的的菜單項。values 目錄:主要放置字符串(string.xml)等。Raw 目錄:主要用于放置音樂路徑。AndroidManifest.xml:主要用來設置應用的配置文件。1.代碼實現(xiàn)/ void setMines(隨機生成雷currentRow,privatecurrentColumn) Random rand mineRow,= new Random();/ 隨機生成mineColumn;/ 定義雷的行和列for (row = 0;
22、 row MainActivity.totalOfMines; row+)mineRow = rand.next mineColumn = rand.next(Columns);/ 雷隨機生成在列(Rows);/ 雷隨機生成在行if (mineRow + 1!= currentColumn)| (mineColumn + 1 != currentRow) if (blocksmineColumn + 1mineRow + 1.hasMine() row-; / 雷已有,不需要相同的/這個位置blocksmineColumn + 1mineRow + 1.plantMine();/ 排除用戶點擊
23、位置else row-;/ 定時器回調(diào)時,計時器被選中private Runnable updateTimeElasped = new Runnable() public void run() / 獲得當前時間距離起始時間的經(jīng)過毫秒數(shù)long currentMilliseconds = System.currentTimeMillis();/ 時間增加+secondsPassed;/ 如果秒數(shù)小于 10if (secondsPassed 10) Timer.setText(00 +eger.toString(secondsPassed);/ 秒數(shù)小于 100else if (secondsPa
24、ssed 100) Timer.setText(0 +eger.toString(secondsPassed);/ 其他else Timer.setText(eger.toString(secondsPassed);/ 增加通知timosTime(this, currentMilliseconds);/ 通知 1 秒后回調(diào)/ 基本上保持在該定時器循環(huán)ostDelayed(updateTimeElasped, 1000);tim2.背景實現(xiàn)1.首頁界面布局2.界面布局TableLayout HYPERLINK http:/s/ xmlns:android=http:/sandroid:layou
25、t_width=fill_parent android:layout_height=fill_parent android:stretchColumns=0,2/apk/res/androidandroid:background=drawabandroid:layout_column=0 android:layout_width=fill_parent android:layout_height=60dp android:gravity=center_horizontalandroid:layout_marg android:padding=5dip android:textColor=#op
26、=3dpandroid:textSize=40sp android:text=000 /TableRowandroid:layout_margandroid:id=+id/tv android:layout_column=0 android:textColor=#000000 android:layout_width=fill_parent android:layout_height=45dp android:textSize=20sp android:gravity=center android:layout_span=3 android:padding=5dip/TableRowandro
27、id:layout_margandroid:id=+id/MineField android:layout_width=wrap_content android:layout_height=400dp android:gravity=bottom android:stretchColumns=* android:layout_span=3 android:padding=5dip TableRowandroid:layout_margandroid:layout_column=0android:id=+id/music android:layout_width=wrap_content and
28、roid:layout_height=wrap_content android:layout_weight=1 android:layout_marginLeft=35dp android:layout_span=3android:orienandroid:layout_column=0 android:id=+id/open android:layout_width=wrap_content android:layout_height=wrap_content android:checked=true android:layout_weight=1 android:text=打開 /5.1.
29、4 關鍵功能實現(xiàn)1. 玩家打開圖標進入到該頁面。如圖 5-1圖 5-1 開始界面模式。如圖 5-22.選擇圖 5-2 選擇模式界面3.進入界面,如圖 5-3圖 5-3界面4.點擊笑臉展開方塊。如圖 5-4圖 5-4 開始界面5.點擊方塊開始玩。如圖 5-5圖 5-5 點擊后界面6.成功,彈出是否保存。如圖 5-6圖 5-6 保存界面7.保存,方格不能點動。如圖 5-7圖 5-7失敗,如圖 5-8成功界面8.圖 5-8 點中雷界面點擊菜單按鈕出現(xiàn)如圖 5-9.9.圖 5-9 菜單查看界面順序,如圖 5-10.10.查看圖 5-10 查看關于,如圖 5-11。界面11.查看圖 5-11 關于界面。
30、如圖 5-12.12.退出圖 5-12 退出界面5.2 本章小結本章在需求分析與設計的基礎上,對系統(tǒng)的部分功能的實現(xiàn)進行了說明。并對實現(xiàn)過程中與流程,以及實現(xiàn)技巧進行了闡述。6 系統(tǒng)測試與效果評估6.1 系統(tǒng)測試總體概述系統(tǒng)測試的主要目的如下:1 通過對的分析,得到對質量的評價2 分析測試的過程,產(chǎn)品,資源,信息,為以后制定測試計劃提供參考3 評估測試測試執(zhí)行和測試計劃是否符合4 分析系統(tǒng)存在的缺陷,為修復和預防 bug 提供建議本必須通過嚴格的測試后,才能上線使用。下面將介紹部分測試的設計以及的分析。6.2 測試與分析功能性測試表 6-1 描述了保存成功測試用例:表 6-1 發(fā)布流程測試用例
31、測試用例01版本號V 1.0測試環(huán)境Android 模擬器用例名稱保存成功測試前提條件掃雷正常啟用、模擬器功能齊全測試步驟運行進入初始界面,選擇模式,進入界面在界面上,點擊笑臉開始結束點擊保存在菜單中查看是否存在剛才的預期輸出保存成功在順序列表中新增一條實際輸出同預期輸出相同問題描述無設計人設計日期2014-10-11表 6-2 描述了音樂操作測試用例:表6-1音樂操作測試用例表 6-3 描述了查看操作測試用例:表 6-3 查看操作測試用例測試用例02版本號V 1.0測試環(huán)境Android 模擬器用例名稱音樂操作測試前提條件掃雷正常啟用、模擬器功能齊全運行進入初始界面,選擇模式,進入界面在界面
32、上,點擊關閉音樂點擊打開音樂。點擊切換音樂。預期輸出點擊關閉音樂的時候關閉了音樂。點擊打開的時候音樂開啟了。點擊切換的時候,切換了音樂。實際輸出同預期輸出相同問題描述無設計人設計日期2014-10-12測試人測試日期2014-10-12再測試人再測試日期問題修改摘要修改人修改日期測試人測試日期2014-10-11再測試人再測試日期問題修改摘要修改人修改日期6.3 本章小結本章對本的功能和性能進行了測試,并對進行了分析,找到系統(tǒng)存在的瓶頸,分析系統(tǒng)是否滿足需求分析文檔的要求,獲取用戶的測試信息,對本的缺陷提出了改進措施。測試用例03版本號V 1.0測試環(huán)境Android 模擬器用例名稱查看操作測試前提條件掃雷正常啟用、模擬器功能齊全運行進入初始界面,選擇模式,進入界面在界面上,進行,并成功點擊菜單,打開查看。點擊確定。預期輸出1成功的模式和時間保存了。2.點擊查看,看到了成功的數(shù)據(jù)。實際輸出同預期輸出相同問題描述無設計人設計日期2014-10-12測試人測試日期20
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年數(shù)據(jù)庫管理員技能競賽試題及答案
- 安徽生公辦高職生均撥款制度
- 2026年財務報表分析與解讀專業(yè)技能測試題庫
- 2026年工程項目管理精要6S現(xiàn)場管理標準及執(zhí)行考試題庫
- 安全檢查及隱患整改落實制度
- 2026年網(wǎng)絡工程師認證考試中級模擬題
- 2026年電子競技教練認證試題集
- 2026年職場技能培訓練習題目
- 2026年教師資格考試備考必刷題
- 2026年高級英語閱讀理解考題
- 2025年物料提升機司機(建筑特殊工種)模擬考試100題及答案
- 2025年度法院拍賣合同模板:法院拍賣拍賣保證金退還合同
- 海關特殊監(jiān)管區(qū)域專題政策法規(guī)匯編 2025
- 《膽囊結石伴膽囊炎》課件
- 《浙江省城市體檢工作技術導則(試行)》
- 人教統(tǒng)編版(部編版)小學科學教材目錄
- DB34∕T 1555-2011 存量房交易計稅價格評估技術規(guī)范
- 青少年無人機課程:第一課-馬上起飛
- 煙道安裝服務合同范本
- 安徽省滁州市2024年中考二模語文試卷(含答案)
- 心衰護理疑難病例討論
評論
0/150
提交評論