貪吃蛇游戲概要設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
貪吃蛇游戲概要設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
貪吃蛇游戲概要設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
貪吃蛇游戲概要設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
貪吃蛇游戲概要設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、概要設(shè)計(jì)說(shuō)明書(shū)1.引言編寫(xiě)目的在分析?貪吃蛇游戲的需求分析說(shuō)明?的根底上,我們對(duì)該系統(tǒng)做了概要設(shè)計(jì),主要是基于以下目的編寫(xiě)此說(shuō)明書(shū):1 .對(duì)系統(tǒng)概要設(shè)計(jì)的的階段任務(wù)成果形成文檔,以便階段驗(yàn)收、評(píng)審,最終的階段驗(yàn)收。2 .對(duì)需求階段的文檔再次確認(rèn)過(guò)程,對(duì)前一階段的需求不充分的地方或者有錯(cuò)誤的地方進(jìn)展修改。3 .明確整個(gè)系統(tǒng)的功能框架和數(shù)據(jù)構(gòu)造,為下一階段的詳細(xì)設(shè)計(jì)、編碼、測(cè)試提供參考根據(jù)。命名標(biāo)準(zhǔn),統(tǒng)一程序界面。預(yù)期讀者:詳細(xì)設(shè)計(jì)人員、概要設(shè)計(jì)評(píng)審小組、研究院指導(dǎo)。1.2 背景系統(tǒng)名稱(chēng):貪吃蛇游戲任務(wù)提出者:手機(jī)籌劃人員開(kāi)發(fā)者:技術(shù)人員用戶(hù):NOKIA手機(jī)用戶(hù)運(yùn)行該軟件機(jī)器:NOKIA手機(jī)1.3

2、 定義1. 節(jié):一條蛇可以看成由許多正方形的“小格子拼湊成,稱(chēng)作節(jié)。節(jié)是蛇身上最小的單位。2. 鏈表:用來(lái)保存每一段的狀態(tài),鏈表的元素單位是節(jié)。且鏈表的第一個(gè)元素表示蛇的頭部。3. 坐標(biāo)系:以左上角那點(diǎn)為0,0,向右那么x遞增,向下那么y遞增。1.4參考資料張海藩:?軟件工程導(dǎo)論?第五版清華大學(xué)出版社肖剛等:?實(shí)用軟件文檔寫(xiě)作?2總體設(shè)計(jì)需求規(guī)定輸入、輸出輸入:操作選擇、級(jí)別輸出:時(shí)間、分?jǐn)?shù)功能要求本設(shè)計(jì)所開(kāi)發(fā)的是基于Java的一個(gè)貪吃蛇游戲軟件,主要實(shí)現(xiàn)游戲的開(kāi)始、暫停、退出等功能,分為:游戲主界面模塊、游戲控制模塊兩個(gè)模塊。性能要求本游戲在設(shè)計(jì)方面本著方便、實(shí)用及娛樂(lè)性高的宗旨,在對(duì)界面進(jìn)

3、展設(shè)計(jì)的過(guò)程中,始終堅(jiān)持明晰明了,在性能方面可以實(shí)現(xiàn)效率高,不易出錯(cuò)等優(yōu)點(diǎn)。游戲主界面應(yīng)該力求美觀(guān),賞心悅目。游戲控制模塊應(yīng)做到易懂、易操作,而且準(zhǔn)確率高,不易出錯(cuò)。運(yùn)行環(huán)境本次設(shè)計(jì)的系統(tǒng)環(huán)境及工具:運(yùn)行環(huán)境:WindowsXP編程語(yǔ)言:Java使用工具:Eclipse2.3根本設(shè)計(jì)概念和處理流程根本設(shè)計(jì)概念如下:程序關(guān)鍵在于表示蛇的圖形及蛇的挪動(dòng)。用一個(gè)小矩形快表示蛇的一節(jié)身體,身體每長(zhǎng)一節(jié),在身體最后增加一個(gè)矩形塊。挪動(dòng)時(shí)必須從蛇頭開(kāi)始,所以蛇不能向相反的方向挪動(dòng),假設(shè)不按任意鍵,蛇自行在當(dāng)前方向上前移,但按下有效方向鍵后,蛇頭朝著該方向挪動(dòng),一步挪動(dòng)一節(jié)身體,所以按下有效方向鍵后,先確定

4、蛇頭的位置,而后蛇的身體隨蛇頭挪動(dòng),圖形的實(shí)現(xiàn)是從蛇頭新位置開(kāi)始畫(huà)出蛇,長(zhǎng)度為保存蛇每個(gè)節(jié)點(diǎn)信息的鏈表的長(zhǎng)度。食物的出現(xiàn)是先確定一組隨機(jī)數(shù),再填充方格,食物的消失是由于使用了清屏函數(shù),當(dāng)吃掉食物后就不再重畫(huà)本次食物,而是生成一組新的隨機(jī)數(shù),畫(huà)新的食物。當(dāng)蛇頭的位置坐標(biāo)和石頭的坐標(biāo)或者自己身體的某個(gè)節(jié)點(diǎn)的坐標(biāo)一樣時(shí),蛇就死掉了,游戲完畢。處理流程如下:構(gòu)造GroundSnake定時(shí)移動(dòng)1. Ground類(lèi):1) privateintTYPE;2) publicintrocks=newintGlobal.WIDTHGlobal.HEIGHT;3) publicvoidsetGround(intty

5、pe)。4) publicbooleanisSnakeEatRock(Snakesnake)。5) publicPointgetPoint()。6) publicvoiddrawMe(Graphicsg)7)功能:根據(jù)不同的布局類(lèi)型畫(huà)出不同的石頭布局2. Snake類(lèi):1) publicstaticintx,y;2) privateintoldDirection,newDirection;3) privatePointoldTail;4) publicLinkedList<Point>body=newLinkedList<Point>();5) publicvoiddi

6、e()6) publicvoidmove()7) publicvoidchangeDirection(intdirection)。8) publicvoiddrawMe(Graphicsg)/把屬于蛇的格子畫(huà)出來(lái)9) privateclassSnakeDriverimplementsRunnable。“由它不停走動(dòng)10)功能:根據(jù)有效方向鍵改變坐標(biāo)值,實(shí)現(xiàn)蛇的定時(shí)挪動(dòng)3. Food類(lèi):1) publicvoiddrawMe(Graphicsg)2)功能:根據(jù)生成的隨機(jī)放畫(huà)出食物4. Controller類(lèi):功能:處理按鍵時(shí)間,處理邏輯。根據(jù)不同的情況向Snake,Food,Ground發(fā)出不同

7、的命令5. GamePane類(lèi):功能:畫(huà)出Snake,Food,Ground,并實(shí)現(xiàn)重新顯示功能需求與程序的關(guān)系1 .游戲界面主框架主要包括游戲圖形主界面、開(kāi)始界面1) 游戲圖形主界面主要包括:食物的隨機(jī)位置、石頭的布局、蛇的挪動(dòng)位置2) 開(kāi)始界面包括:開(kāi)始、繼續(xù)、暫停、歷史最高分、游戲說(shuō)明、退出等按鈕。2 .與程序的關(guān)系:1)開(kāi)始界面StartPanel畫(huà)出開(kāi)始、繼續(xù)、暫停、歷史最高分、游戲說(shuō)明、退出等按鈕。2)游戲圖形主界面GamePanel畫(huà)出Snake,Ground,Food。用戶(hù)在StartPanel選擇按鈕或者按下快捷鍵,Controller類(lèi)判斷邏輯或響應(yīng)事件,向Snake,Gr

8、ound,Food發(fā)出命令,分別執(zhí)行,最后由GamePanel實(shí)現(xiàn)刷新并顯示。人工處理過(guò)程由用戶(hù)選擇游戲控制類(lèi)別:開(kāi)始、暫停、繼續(xù)、歷史最高分、游戲說(shuō)明、退出,或者選擇有效方向鍵。3 .7尚未解決的問(wèn)題沒(méi)有實(shí)現(xiàn)畫(huà)出一個(gè)限時(shí)食物,蛇要在倒計(jì)時(shí)內(nèi)吃到食物,否那么倒計(jì)時(shí)完畢,食物消失。3接口設(shè)計(jì)內(nèi)部接口SnakeListener:VoidSankeMovedSnake;運(yùn)行設(shè)計(jì)運(yùn)行模塊組合1 .在控制面板選擇NewGame,Cotroller類(lèi)響應(yīng)事件,發(fā)命令給Snake類(lèi)開(kāi)啟一個(gè)線(xiàn)程,及GamePanel類(lèi)重畫(huà)Snake,Food,Ground。2 .選才PPauseController類(lèi)發(fā)命令給

9、Snake類(lèi)暫停挪動(dòng),GamePane類(lèi)暫停刷屏,Time類(lèi)停頓計(jì)時(shí),SaveGam族保存當(dāng)前Food、Ground等級(jí)、Snake每個(gè)節(jié)點(diǎn)的位置。3 .選擇Resume從文件中讀取Food、Ground等級(jí)、Snake每個(gè)節(jié)點(diǎn)的位置。Time類(lèi)開(kāi)始計(jì)時(shí),GamePanel類(lèi)開(kāi)始刷屏,重畫(huà)Snake,Food,Ground,Snake類(lèi)開(kāi)始蛇的定時(shí)挪動(dòng)。4 .選擇HighScore,Cotroller類(lèi)響應(yīng)事件,發(fā)命令給highScore類(lèi)從文件中讀取保存的信息,并顯示。5 .選擇LowLevel、Highlevel,Cotroller類(lèi)發(fā)命令給Ground類(lèi),設(shè)置石頭的信息。6 .選擇Description,Cotroller類(lèi)響應(yīng)按鈕點(diǎn)擊事件。7 .選才EExit,Cotroller類(lèi)響應(yīng)按鈕點(diǎn)擊事件。8 .當(dāng)蛇死掉時(shí),Cotroller發(fā)命令給Snake類(lèi)使蛇die(),highScore類(lèi)保存當(dāng)前分?jǐn)?shù),和歷史分?jǐn)?shù)比較。選取最高的六次,并排序。運(yùn)行控制由用戶(hù)選擇游戲控制類(lèi)別:開(kāi)始、暫停、繼續(xù)、歷史最高分、游戲說(shuō)明、退出,或者選擇有效方向鍵。尚未暫停不能選擇繼續(xù)。歷史最高分、游戲說(shuō)明任何時(shí)候都可以選擇,游戲沒(méi)完畢時(shí)不能選擇退出,可以暫停,下次再運(yùn)行時(shí)可以選擇新游戲或者繼續(xù)。運(yùn)行時(shí)間該游戲軟件運(yùn)行時(shí),SnakeFood、Ground三個(gè)對(duì)象一致同時(shí)存在,直到戲完畢。其中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論