版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 通信終端設(shè)計(jì)三級(jí)項(xiàng)目設(shè)計(jì)說(shuō)明書</p><p> ?。?011/2012學(xué)年第二學(xué)期)</p><p> 課程名稱 : 通信終端設(shè)計(jì)三級(jí)項(xiàng)目 </p><p> 題 目 : 掃雷 </p><p> 專業(yè)班級(jí) : 通信工程09-1 &
2、lt;/p><p> 學(xué)生姓名 : </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師 : </p><p> 設(shè)計(jì)周數(shù) : 1周 &l
3、t;/p><p> 設(shè)計(jì)成績(jī) : </p><p> 2012年6月21日</p><p><b> 1、設(shè)計(jì)要求與任務(wù)</b></p><p> 能夠運(yùn)用java語(yǔ)言設(shè)計(jì)出掃雷游戲的程序,會(huì)搭建android開發(fā)環(huán)境,并學(xué)會(huì)運(yùn)用 eclipse軟件對(duì)掃雷游
4、戲進(jìn)行開發(fā);會(huì)創(chuàng)建自己的android項(xiàng)目,并了解android項(xiàng)目生成的文件之間的關(guān)系和它們的作用,會(huì)使用各種控件;能夠?qū)Τ绦蜻M(jìn)行調(diào)試并學(xué)會(huì)修改其中的錯(cuò)誤。</p><p><b> 任務(wù):</b></p><p> 1)個(gè)性化字體,計(jì)分器使用的是LED字體,學(xué)習(xí)如何導(dǎo)入外部字體在Android平臺(tái)中顯示。 </p><p> 2)帶圖
5、片的Toast, Toast使用自定義的布局,可以顯示圖片和文字。 </p><p> 3)自定義Button控件,可以看到標(biāo)記是否為雷,顯示附近地雷數(shù)量的按鈕控件,學(xué)習(xí)Android開發(fā)中常用的自定義控件技術(shù)。2、設(shè)計(jì)正文</p><p><b> 2.1 分析</b></p><p> 掃雷是一個(gè)簡(jiǎn)單的單人游戲。游戲的目的是在沒(méi)有觸
6、碰任何一個(gè)地雷的情形下清空一個(gè)雷區(qū)。在掃雷游戲中,游戲者要面對(duì)一片磚塊組成的格柵,有些磚塊包含隨機(jī)設(shè)置的地雷。在掃雷游戲的游戲界面中,由眾多面積均等的小方塊所組成的區(qū)域稱之為雷區(qū),雷區(qū)的大小由程序設(shè)置的游戲等級(jí)決定.</p><p> 游戲開始時(shí),系統(tǒng)會(huì)在雷區(qū)的某些小方塊中隨機(jī)布下若干個(gè)地雷。安放好地雷的小方塊稱之為雷方塊,其他的稱之為非雷方塊。部署完畢后,系統(tǒng)會(huì)在其他非雷方塊中填充一些數(shù)字。某一個(gè)具體數(shù)字表示
7、與其緊鄰的8個(gè)方塊中有多少個(gè)雷方塊。玩家可以根據(jù)這些信息去判斷是否可以打開某些方塊,并把認(rèn)為是地雷的方塊打上標(biāo)識(shí)。當(dāng)玩家將所有地雷找出后,其余的非雷方塊區(qū)域都已打開,此時(shí)游戲結(jié)束。在游戲過(guò)程中,一旦錯(cuò)誤地打開了雷方塊則立即失敗,游戲結(jié)束;當(dāng)玩家標(biāo)識(shí)的地雷數(shù)超過(guò)程序設(shè)定,雖然打開了全部其余方塊,游戲仍然不會(huì)結(jié)束。</p><p> 在游戲開始后,雷區(qū)上方有兩個(gè)計(jì)數(shù)器。右邊的計(jì)數(shù)器顯示用戶掃雷所花費(fèi)的總時(shí)間,以秒為
8、單位;左邊的計(jì)數(shù)器顯示當(dāng)前還剩余多少個(gè)雷方塊。</p><p> 游戲需要提供提示語(yǔ),如游戲的開始、游戲失敗、游戲成功等。按功能將游戲區(qū)域分成兩個(gè)區(qū)域:雷區(qū)和提示區(qū)。提示區(qū)包括兩個(gè)計(jì)數(shù)器和一個(gè)按鍵操作結(jié)果圖像提示。游戲過(guò)程中,當(dāng)玩家用鼠標(biāo)點(diǎn)擊相應(yīng)的方塊,程序就會(huì)作出相應(yīng)的鼠標(biāo)響應(yīng)事件,而眾多鼠標(biāo)事件的處理,都是圍繞著實(shí)現(xiàn)掃雷程序的算法而衍生的。</p><p><b> 2.
9、2 設(shè)計(jì)</b></p><p> 2.2.1 整體布局的設(shè)計(jì)</p><p> 我們使用TableLayout進(jìn)行掃雷的布局,在TableLayout上加入三行:</p><p> 第一行包括用于計(jì)時(shí)的三列數(shù)字,新游戲按鈕和剩余地雷數(shù)。我們使用TextView顯示計(jì)時(shí)和地雷數(shù)。新游戲按鈕使用ImageButton 。第二行是50像素高的空的Tex
10、tView,將第一行和雷區(qū)隔離開。第三行是另一個(gè)TableLayout,用來(lái)顯示雷區(qū)。我們將動(dòng)態(tài)的向這個(gè)區(qū)域添加按鈕。如圖1:</p><p><b> 圖1</b></p><p> 2.2.2 游戲過(guò)程的實(shí)現(xiàn)</p><p><b> 1)第一次點(diǎn)擊開始</b></p><p> 之前我
11、們說(shuō)過(guò),計(jì)時(shí)器從第一次點(diǎn)擊開始(打開第一個(gè)磚塊),在按下新游戲按鈕時(shí)不會(huì)開始計(jì)時(shí)。這一點(diǎn)對(duì)于控制時(shí)間來(lái)說(shuō)非常重要,為了實(shí)現(xiàn)這個(gè)功能,我們只需創(chuàng)建一個(gè)布爾變量,只要接受到點(diǎn)擊事件就檢查此變量,開始調(diào)用Handler,然后改變此變量的值。</p><p> 2)第一次點(diǎn)擊沒(méi)有地雷</p><p> 用戶的第一次點(diǎn)擊不應(yīng)該觸發(fā)地雷,否則一開始就要猜測(cè)。因此我們?cè)诘谝淮吸c(diǎn)擊后設(shè)置地雷。我們?cè)谟?/p>
12、戶剛剛打開的磚塊之外的部分隨機(jī)設(shè)置地雷(通過(guò)隨機(jī)設(shè)置行和列的數(shù)字)。之后為所有磚塊計(jì)算鄰近的地雷數(shù)目生成數(shù)字磚塊。</p><p> 3) 打開磚塊的漣漪效果</p><p> 用戶在打開一個(gè)磚塊后得到有關(guān)下一步的提示,如果打開的磚塊是空的,用戶就無(wú)法猜測(cè)地雷的情況并決定下一步操作。為了避免這種情況,我們打開空白磚塊鄰近的磚塊,一直遞歸的打開直到遇見有數(shù)字的磚塊。類似于漣漪的效果。&l
13、t;/p><p> 4) 在磚塊上做標(biāo)記</p><p> 我們進(jìn)一步討論將磚塊標(biāo)記為旗子、問(wèn)號(hào)和取消標(biāo)記的方法。實(shí)現(xiàn)的方法直接明了,當(dāng)我們收到非左右鍵點(diǎn)擊的長(zhǎng)點(diǎn)擊事件時(shí),我們檢查磚塊現(xiàn)在的狀態(tài)。如果磚塊上沒(méi)有標(biāo)記,就在上面插旗子(表示內(nèi)有地雷),如果磚塊上插著旗子,就在上面標(biāo)問(wèn)號(hào)(懷疑但不確定有地雷),而如果磚塊上面有問(wèn)號(hào)標(biāo)記,就清除標(biāo)記。我們只需要一些條件判斷句就能實(shí)現(xiàn):</p&
14、gt;<p> 5) 每一步檢查游戲的輸/贏</p><p> 這一步非常重要。每次點(diǎn)擊后都要檢查游戲的狀態(tài),確保我們不會(huì)錯(cuò)過(guò)任何點(diǎn)擊和任何磚塊。當(dāng)點(diǎn)擊的磚塊下邊有地雷時(shí),我們就輸了。當(dāng)所有包含地雷的磚塊上插了旗子時(shí),我們就贏了。</p><p><b> 2.3 測(cè)試結(jié)果</b></p><p><b> 運(yùn)行
15、結(jié)果如下圖:</b></p><p><b> 圖2</b></p><p> 2.4 流程圖的實(shí)現(xiàn)</p><p><b> 圖3</b></p><p><b> 3、設(shè)計(jì)總結(jié)</b></p><p> 通過(guò)這次課程設(shè)計(jì),我學(xué)到
16、了很多新的知識(shí),同時(shí)也鍛煉了我的綜合運(yùn)用所學(xué)的知識(shí),解決問(wèn)題的能力,也提高我查閱文獻(xiàn)資料、對(duì)程序整體的把握等其他能力與水平。在課程設(shè)計(jì)過(guò)程中,在小組成員的討論中,不斷地對(duì)源程序進(jìn)行改進(jìn)與完善,修改了以往掃雷程序的界面,界面更加漂亮。并且在編寫的過(guò)程中,各種組件的運(yùn)用,各種算法的應(yīng)用,各種控件的利用我都是隨著課程設(shè)計(jì)的不斷深入而不斷熟悉并逐步掌握的。</p><p> 本次課程設(shè)計(jì)使我能力得到了很大的提高,同時(shí)也
17、讓我認(rèn)識(shí)到自己的不足之處。學(xué)習(xí)就是一個(gè)不斷認(rèn)識(shí),不斷發(fā)現(xiàn)自己的不足,然后逐步去完善的過(guò)程。通過(guò)這次課程設(shè)計(jì),讓我懂得了很多,為以后找工作奠定了一定的基礎(chǔ)。感謝這次課程設(shè)計(jì),它讓我收獲頗豐。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]郭宏志. Android 應(yīng)用開發(fā)詳解[M]. 北京:電子工業(yè)出版社 2010-10-2 </p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)-掃雷游戲
- 掃雷游戲課程設(shè)計(jì)報(bào)告
- java掃雷游戲課程設(shè)計(jì)
- 掃雷游戲課程設(shè)計(jì)報(bào)告
- 掃雷小游戲課程設(shè)計(jì)
- java課程設(shè)計(jì)--掃雷游戲報(bào)告
- c程序課程設(shè)計(jì)報(bào)告(掃雷游戲)
- java課程設(shè)計(jì)報(bào)告-掃雷小游戲
- 基于java的掃雷游戲課程設(shè)計(jì)
- 掃雷游戲程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- vb課程設(shè)計(jì)掃雷游戲的設(shè)計(jì)與開發(fā)
- 掃雷課程設(shè)計(jì)
- 掃雷課程設(shè)計(jì)--掃雷程序設(shè)計(jì)
- java掃雷課程設(shè)計(jì)
- java 課程設(shè)計(jì) 掃雷
- mfc課程設(shè)計(jì)———利用vc++程序編寫掃雷游戲
- java_掃雷游戲課程設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- java課程設(shè)計(jì)--基于java的掃雷游戲軟件設(shè)計(jì)
- android課程設(shè)計(jì)報(bào)告--猜數(shù)字小游戲
- android課程設(shè)計(jì)連連看小游戲
評(píng)論
0/150
提交評(píng)論