俄羅斯方塊游戲課程設(shè)計(jì)報(bào)告_第1頁
俄羅斯方塊游戲課程設(shè)計(jì)報(bào)告_第2頁
俄羅斯方塊游戲課程設(shè)計(jì)報(bào)告_第3頁
俄羅斯方塊游戲課程設(shè)計(jì)報(bào)告_第4頁
俄羅斯方塊游戲課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.....計(jì)算機(jī)工程學(xué)院課程設(shè)計(jì)說明書課程名稱:______________________________________設(shè)計(jì)項(xiàng)目:______________________________________學(xué)生________________________________________學(xué)號(hào):______________________________________專業(yè):______________________________________班級(jí):______________________________________指導(dǎo)____________________________________________年______月.....一、任務(wù)與具體要求二、設(shè)計(jì)說明書包括的內(nèi)容應(yīng)完成的圖紙?jiān)u語及成績(jī)指導(dǎo)教師〔簽字_____________________年____月____日.....目錄系統(tǒng)概述………………22.原有程序概況…………33.現(xiàn)在系統(tǒng)操作界面……54.現(xiàn)在程序詳細(xì)設(shè)計(jì)……75.用戶手冊(cè)………………146.測(cè)試計(jì)劃………………157.課程設(shè)計(jì)心得體會(huì)……168.參考書籍及資料………17系統(tǒng)概述1 現(xiàn)狀分析 在個(gè)人電腦日益普及的今天,一些有趣的桌面游戲已經(jīng)成為人們?cè)谑褂糜?jì)算機(jī)進(jìn)行工作學(xué)習(xí)之余休閑娛樂的首選,而俄羅斯方塊游戲是人們最熟悉的小游戲之一,它以其趣味性強(qiáng),易上手等諸多特點(diǎn)得到了大眾認(rèn)可,因此開發(fā)此游戲軟件可滿足人們的一些娛樂需求。 此俄羅斯方塊游戲可以為用戶提供一個(gè)可在普通個(gè)人電腦上運(yùn)行的,界面美觀的,易于控制的俄羅斯方塊游戲。1.2 項(xiàng)目要求俄羅斯方塊是一款適合大眾的游戲軟件,它適合不同年齡的人玩。本軟件實(shí)現(xiàn)的基本功能如下:游戲區(qū):玩家可以在游戲區(qū)中堆積方塊,并能夠在游戲過程中隨時(shí)了解得分情況和下一個(gè)將要出現(xiàn)方塊的提示。游戲控制:玩家可以通過游戲控制功能來控制游戲開始,暫停,結(jié)束游戲,游戲難度的設(shè)置以及音效控制。玩家游戲信息存儲(chǔ)及刪除:玩家的得分在前五名時(shí),將會(huì)記錄在排行榜上,同時(shí)可為玩家清空排行榜。3 系統(tǒng)模塊結(jié)構(gòu)圖依據(jù)需求分析結(jié)果,俄羅斯方塊游戲可以分為三個(gè)模塊:游戲區(qū)、游戲控制區(qū)、數(shù)據(jù)操作區(qū)。系統(tǒng)模塊結(jié)構(gòu)如圖:俄羅斯方塊游戲俄羅斯方塊游戲游戲區(qū)游戲控制區(qū)數(shù)據(jù)操作區(qū)原有程序概況2.1原有程序?qū)崿F(xiàn)的功能原來程序只能實(shí)現(xiàn)開始和退出游戲,還有記錄游戲的得分!類一:控制面板類類定義:classGameMain功能描述:界面設(shè)計(jì)應(yīng)遵循簡(jiǎn)介美觀方便易用的基本原則。類二:畫布類類定義:classGameCanvas類三:方塊類類定義:classRussiaBlock功能描述:七種類型方塊的父類,定義了所有類型方塊的共同特征和行為。77654321隨機(jī)產(chǎn)生一個(gè)數(shù)一字形Z字形反Z形L字形反L形倒T形田字型類四:主游戲類類定義:RussiaBlocksGame功能描述:游戲主類,負(fù)責(zé)游戲的全局控制。類五:虛擬單個(gè)方格類類類定義:RussiaBlocksGame;功能描述:控制方格的顏色。2.2原有游戲打開界面2.3原有游戲運(yùn)行界面2.4改進(jìn)目標(biāo)增加暫停和繼續(xù)按鈕,這樣可以方便游戲者,可以暫停游戲。增加游戲的等級(jí),這樣可改變游戲的難易程度,增加游戲的趣味性。增加填寫游戲者姓名的的功能,這樣可以記錄游戲者的名字。現(xiàn)在系統(tǒng)操作界面3.1現(xiàn)在游戲打開界面3.2現(xiàn)在游戲運(yùn)行界面現(xiàn)在程序詳細(xì)設(shè)計(jì)類一:控制面板類類定義:classGameMain功能描述:界面設(shè)計(jì)應(yīng)遵循簡(jiǎn)介美觀方便易用的基本原則。設(shè)計(jì)方法:方法①Game方法方法定義:PublicGameMain〔功能描述:這個(gè)方法就是要保證在放大和縮小程序?qū)崿F(xiàn)窗口大小的時(shí)候,其中的格子也會(huì)隨之改變,也就是我們經(jīng)常說的最大化最小化,當(dāng)窗口發(fā)生變化時(shí),方塊自動(dòng)調(diào)整大小與之相匹配。方法②:actionPerformed方法方法定義:publicvoidactionPerformed<>功能描述:這個(gè)就是將游戲界面重置,將游戲界面回到初始狀態(tài),這個(gè)方法主要是通過將窗口中的著色小方塊全部消除顏色,然后再重新去給窗口著色,即著上背景色,給玩家看上去也就是被刷新了。設(shè)計(jì)描述:controlPanel面板中包含tipPanel,InfoPanel,buttonPanel子面板,分別為圖形界面面板,信息面板,按鈕面板圖形顯示面板設(shè)計(jì)為BorderLayout布局樣式.其中添加tipPanel面板居中<以顯示下一個(gè)俄羅斯方塊樣式>信息面板設(shè)計(jì)為4行1列式的GridLayout網(wǎng)格狀布局,并且添加當(dāng)前等級(jí),顯示當(dāng)前等級(jí)文本域,當(dāng)前分?jǐn)?shù),顯示當(dāng)前分?jǐn)?shù)文本域④按鈕面板設(shè)計(jì)為5行1列式的GridLayout網(wǎng)格狀布局,并且添加開始游戲,暫停/繼續(xù),結(jié)束三個(gè)按鈕面板設(shè)計(jì)效果圖如下:類二:畫布類類定義:classGameCanvas設(shè)計(jì)方法:方法①:paintComponent方法方法定義publicvoidpaintComponent<Graphicsg>功能描述;其中box就是表示預(yù)顯示框,然后檢查顯示框中每個(gè)小格子是否需要著色,如果需要著色,則著上方塊得顏色,不需要著色的則著上背景顏色,一共有16個(gè)小格子構(gòu)成了一個(gè)預(yù)顯示塊,共需要檢測(cè)16次,其實(shí)當(dāng)中和實(shí)現(xiàn)游戲中的程序有著共同點(diǎn)。方法②:removeLine方法方法定義:publicvoidremoveLine<introw>功能描述:這個(gè)就是實(shí)現(xiàn)如何將行消除的,其實(shí)就是在判斷了該行該消除的時(shí)候?qū)⑸厦娴姆綁K都向下平移一格,這樣在實(shí)現(xiàn)程序界面也就給玩家是消去一行的視覺效果。類三:方塊類類定義:classRussiaBlock功能描述:七種類型方塊的父類,定義了所有類型方塊的共同特征和行為。77654321隨機(jī)產(chǎn)生一個(gè)數(shù)一字形Z字形反Z形L字形反L形倒T形田字型設(shè)計(jì)方法:方法=1\*GB3①:run方法方法定義:publicvoidrun<>功能描述:實(shí)現(xiàn)方塊的運(yùn)行,下落。方法②:moveTo方法方法定義:publicsynchronizedbooleanmoveTo〔功能描述:將當(dāng)前畫移動(dòng)到newRow/newCol所指定的位置。方法③:isMoveable方法方法定義:privatebooleanisMoveable<>功能描述:判定當(dāng)前塊是否能被邊界、其他方塊擋住以及不能移動(dòng)的情況。方法④:turnNext方法方法定義:publicvoidturnNext<>功能描述:實(shí)現(xiàn)方塊的旋轉(zhuǎn)。方法⑤:turnTo方法方法定義:privatesynchronizedbooleanturnTo〔功能描述:將當(dāng)前塊變成newStyle所指定的塊樣式。方法⑥:isTurnable方法方法定義:privatebooleanisTurnable〔功能描述:判定當(dāng)前塊是否能變成newStyle所指定的塊樣式。方法⑦:erase方法方法定義:privatevoiderase<>功能描述:將當(dāng)前塊從畫布的對(duì)應(yīng)位置移除。方法⑧:display方法方法定義:privatevoiddisplay<>功能描述:實(shí)現(xiàn)重畫畫布的時(shí)候顯示當(dāng)前塊。類四:主游戲類類定義:RussiaBlocksGame功能描述:游戲主類,負(fù)責(zé)游戲的全局控制。設(shè)計(jì)方法:方法①:checkFullLine方法方法定義:publicvoidcheckFullLine<>功能描述:這個(gè)是表示的清除需要消除的行的算法,只需要對(duì)行中的小方塊進(jìn)行判斷,判斷是否都已經(jīng)著色,如果都著色了說明改行是要消除的,而且還需要進(jìn)行加分措施,在進(jìn)行多行消除的時(shí)候,可以給玩家更多的獎(jiǎng)勵(lì),這也符合俄羅斯方塊的游戲股則。方法②:play方法方法:privatevoidplay<>功能實(shí)現(xiàn):實(shí)現(xiàn)游戲開始,同時(shí)在游戲的開始時(shí),方塊隨即從頂端的任何位置落下。方法③:getCurLevelScore方法方法定義:publicintgetCurLevelScore<>功能描述:實(shí)現(xiàn)獲得每個(gè)等級(jí)的分?jǐn)?shù)方法④:setLevel方法方法定義:publicvoidsetLevel<intlevel>功能描述:進(jìn)行等級(jí)的手動(dòng)調(diào)節(jié)方法⑤:levelUpdate方法方法定義:publicvoidlevelUpdate<>功能描述:這是更新等級(jí)的函數(shù),一個(gè)是通過分?jǐn)?shù)的判斷,在程序中定義了一個(gè)本級(jí)得分,然后當(dāng)本級(jí)得分達(dá)到一個(gè)分?jǐn)?shù)的時(shí)候,就可以進(jìn)入下一個(gè)等級(jí),同時(shí)根據(jù)等級(jí)的提高,之前定義的下落速度也會(huì)提高,同時(shí)減去升級(jí)需要的分?jǐn)?shù),也就可以用作下一次升級(jí)的判斷?!? 設(shè)計(jì)描述:①窗體設(shè)計(jì)窗體大小:〔300,400,默認(rèn)居中顯示,代碼如下:DimensionscrSize=Toolkit.getDefaultToolkit<>.getScreenSize<>; setLocation<<scrSize.width-getSize<>.width>/2,<scrSize.height-getSize<>.height>/2>;添加windows窗口事件:addWindowListener<newWindowAdapter<>{ publicvoidwindowClosing<WindowEventevent> { System.exit<0>; }}>;窗體名稱為:俄羅斯方塊游戲。②菜單設(shè)計(jì)游戲菜單:包括重新游戲,退出兩個(gè)菜單項(xiàng)??刂撇藛危喊〞和?繼續(xù),結(jié)束三個(gè)菜單項(xiàng)。以菜單項(xiàng)為例gameMenu=newJMenu<"游戲">; newGameItem=newJMenuItem<"重置">; exitItem=newJMenuItem<"退出">; gameMenu.add<newGameItem>;gameMenu.add<exitItem>;③添加背景音樂方法 publicvoidMusic<>{ Stringmusic="background.wav"; finalAudioClipclip=Applet.newAudioClip<getClass<>.getResource<music>>; clip.play<>;}通過調(diào)用Music〔來實(shí)現(xiàn)背景音樂播放。類五:虛擬單個(gè)方格類類類定義:RussiaBlocksGame〔2功能描述:控制方格的顏色。〔3設(shè)計(jì)方法:方法:setColor方法方法定義:publicvoidsetColor〔功能描述:對(duì)有標(biāo)記的方塊進(jìn)行著色用戶手冊(cè)控制區(qū):玩家在界面上可以看到開始游戲的按鈕,點(diǎn)擊該按鈕,開始游戲,控制區(qū)和界面上都有暫停,繼續(xù)的按鈕,按下暫停則游戲暫停,并且界面上的按鈕變成繼續(xù)的字樣,同理按下繼續(xù),游戲退出,用戶結(jié)束游戲。游戲菜單區(qū):重置:如果玩家在結(jié)束了游戲或者在游戲中向開始進(jìn)行新的游戲,則可以點(diǎn)擊該按鈕,如果玩家不想繼續(xù)玩得話,直接點(diǎn)擊結(jié)束按鈕結(jié)束游戲,并退出窗口。控制菜單:暫停,繼續(xù),退出游戲的功能都和控制區(qū)一樣的效果關(guān)于菜單:該菜單游戲的操作的簡(jiǎn)介,方向鍵的左,下,右就是游戲中的操作方法,方向鍵上則是對(duì)圖形的反轉(zhuǎn)變化。測(cè)試計(jì)劃右側(cè)按鈕測(cè)試1.點(diǎn)擊"開始/重置"按鈕效果:游戲開始與重置結(jié)果:正常2.點(diǎn)擊"暫停/繼續(xù)"按鈕效果:游戲根據(jù)操作能暫停與繼續(xù)相互切換結(jié)果:正常3.點(diǎn)擊"結(jié)束"按鈕效果:游戲重置,屏幕重新刷新結(jié)果正常鍵盤事件的功能測(cè)試1.方塊移動(dòng)測(cè)試游戲過程中,點(diǎn)擊"左、右、下"方向鍵輸出:方塊正常移動(dòng),不會(huì)移出邊界結(jié)果:正常2.方塊反轉(zhuǎn)測(cè)試游戲過程中,點(diǎn)擊向上方向鍵輸出:方塊無邊界和障礙物阻擋的情況下可反轉(zhuǎn)結(jié)果:正常方塊堆砌與消行測(cè)試1.當(dāng)方塊下落到最底面或與障礙物接觸時(shí)輸出:方塊成功堆砌在底部結(jié)果:正常2.當(dāng)出現(xiàn)滿行現(xiàn)象時(shí)輸出:所有滿行被消除,方塊依次下移結(jié)果:正常課程設(shè)計(jì)心得體會(huì)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.Java語言是一門強(qiáng)大的語言,比我們所學(xué)過的C語言有很強(qiáng)的功能,可以有美化的圖形界面設(shè)計(jì),可以連接數(shù)據(jù)庫,解決用文件存儲(chǔ)的繁瑣過程,使得軟件所產(chǎn)生的數(shù)據(jù)更容易管理和維護(hù)。在設(shè)計(jì)初期時(shí),組員通過交流,討論,定下了課題——俄羅斯方塊游戲。分工之后,將整個(gè)課題分為三個(gè)部分。在編程階段,我們發(fā)現(xiàn)一學(xué)期所學(xué)的知識(shí)難易填補(bǔ)課題所需的知識(shí)漏洞,通過參考課外書籍,網(wǎng)絡(luò)資源,掌握了課本之外的一些技巧與知識(shí)。我們?cè)谡n程設(shè)計(jì)的同時(shí)感覺到我們還欠缺很多。通過此次課程設(shè)計(jì),我們對(duì)專業(yè)知識(shí)又有了更進(jìn)一步的了解,對(duì)培養(yǎng)我們專業(yè)興趣起到良好的推動(dòng)作用。課程設(shè)計(jì)在銜接之時(shí)也遇到一些問題,有一些程序BUG,經(jīng)過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論