俄羅斯方塊游戲課程設(shè)計匯本報告_第1頁
俄羅斯方塊游戲課程設(shè)計匯本報告_第2頁
俄羅斯方塊游戲課程設(shè)計匯本報告_第3頁
俄羅斯方塊游戲課程設(shè)計匯本報告_第4頁
俄羅斯方塊游戲課程設(shè)計匯本報告_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余13頁可下載查看

下載本文檔

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

文檔簡介

1、 計算機(jī)工程學(xué)院課程設(shè)計說明書課程名稱:_設(shè)計項(xiàng)目:_學(xué)生:_學(xué) 號:_專 業(yè):_班 級:_指導(dǎo)教師:_年_月16 / 18一、任務(wù)與具體要求二、設(shè)計說明書包括的容三、 應(yīng)完成的圖紙四、 評語及成績指導(dǎo)教師(簽字)_年_月_日 目 錄1 系統(tǒng)概述22原有程序概況33現(xiàn)在系統(tǒng)操作界面54現(xiàn)在程序詳細(xì)設(shè)計75用戶手冊146測試計劃157課程設(shè)計心得體會168參考書籍及資料17系統(tǒng)概述1. 1現(xiàn)狀分析在個人電腦日益普及的今天,一些有趣的桌面游戲已經(jīng)成為人們在使用計算機(jī)進(jìn)行工作學(xué)習(xí)之余休閑娛樂的首選,而俄羅斯方塊游戲是人們最熟悉的小游戲之一,它以其趣味性強(qiáng),易上手等諸多特點(diǎn)得到了大眾認(rèn)可,因此開發(fā)此游

2、戲軟件可滿足人們的一些娛樂需求。此俄羅斯方塊游戲可以為用戶提供一個可在普通個人電腦上運(yùn)行的,界面美觀的,易于控制的俄羅斯方塊游戲。1.2項(xiàng)目要求俄羅斯方塊是一款適合大眾的游戲軟件,它適合不同年齡的人玩。本軟件實(shí)現(xiàn)的基本功能如下:l 游戲區(qū):玩家可以在游戲區(qū)中堆積方塊,并能夠在游戲過程中隨時了解得分情況和下一個將要出現(xiàn)方塊的提示。l 游戲控制:玩家可以通過游戲控制功能來控制游戲開始,暫停,結(jié)束游戲,游戲難度的設(shè)置以及音效控制。l 玩家游戲信息存儲及刪除:玩家的得分在前五名時,將會記錄在排行榜上,同時可為玩家清空排行榜。1. 3系統(tǒng)模塊結(jié)構(gòu)圖依據(jù)需求分析結(jié)果,俄羅斯方塊游戲可以分為三個模塊:游戲區(qū)

3、、游戲控制區(qū)、數(shù)據(jù)操作區(qū)。系統(tǒng)模塊結(jié)構(gòu)如圖:俄羅斯方塊游戲游戲區(qū)游戲控制區(qū)數(shù)據(jù)操作區(qū) 原有程序概況2.1 原有程序?qū)崿F(xiàn)的功能原來程序只能實(shí)現(xiàn)開始和退出游戲,還有記錄游戲的得分!類一:控制面板類(1) 類定義:class GameMain(2) 功能描述:界面設(shè)計應(yīng)遵循簡介美觀方便易用的基本原則。類二:畫布類類定義:class GameCanvas類三:方塊類(1) 類定義:class RussiaBlock(2) 功能描述:七種類型方塊的父類,定義了所有類型方塊的共同特征和行為。7654321隨機(jī)產(chǎn)生一個數(shù)一字形Z字形反Z形L字形反L形倒T形田字型類四:主游戲類(1) 類定義:RussiaBl

4、ocksGame(2) 功能描述: 游戲主類,負(fù)責(zé)游戲的全局控制。類五:虛擬單個方格類類(1) 類定義:RussiaBlocksGame;功能描述:控制方格的顏色。2.2原有游戲打開界面2.3原有游戲運(yùn)行界面2.4改進(jìn)目標(biāo)增加暫停和繼續(xù)按鈕,這樣可以方便游戲者,可以暫停游戲。增加游戲的等級,這樣可改變游戲的難易程度,增加游戲的趣味 性。 增加填寫游戲者的的功能,這樣可以記錄游戲者的名字。 現(xiàn)在系統(tǒng)操作界面3.1現(xiàn)在游戲打開界面3.2現(xiàn)在游戲運(yùn)行界面現(xiàn)在程序詳細(xì)設(shè)計類一:控制面板類(1) 類定義:class GameMain(2) 功能描述:界面設(shè)計應(yīng)遵循簡介美觀方便易用的基本原則。(3) 設(shè)計

5、方法:方法Game方法方法定義:Public GameMain()功能描述: 這個方法就是要保證在放大和縮小程序?qū)崿F(xiàn)窗口大小的時候,其中的格子也會隨之改變,也就是我們經(jīng)常說的最大化最小化,當(dāng)窗口發(fā)生變化時,方塊自動調(diào)整大小與之相匹配。 方法:actionPerformed方法方法定義:public void actionPerformed ()功能描述:這個就是將游戲界面重置,將游戲界面回到初始狀態(tài),這個方法主要是通過將窗口中的著色小方塊全部消除顏色,然后再重新去給窗口著色,即著上背景色,給玩家看上去也就是被刷新了。(4) 設(shè)計描述: controlPanel面板中包含tipPanel, In

6、foPanel, buttonPanel子面板,分別為圖形界面面板,信息面板,按鈕面板 圖形顯示面板設(shè)計為BorderLayout布局樣式.其中添加tipPanel面板居中(以顯示下一個俄羅斯方塊樣式) 信息面板設(shè)計為4行1列式的GridLayout網(wǎng)格狀布局,并且添加當(dāng)前等級,顯示當(dāng)前等級文本域,當(dāng)前分?jǐn)?shù),顯示當(dāng)前分?jǐn)?shù)文本域 按鈕面板設(shè)計為5行1列式的GridLayout網(wǎng)格狀布局 ,并且添加開始游戲, 暫停/繼續(xù),結(jié)束三個按鈕面板設(shè)計效果圖如下:類二:畫布類(1) 類定義:class GameCanvas(2) 設(shè)計方法:方法:paintponent方法方法定義public void pa

7、intponent(Graphics g)功能描述;其中box就是表示預(yù)顯示框,然后檢查顯示框中每個小格子是否需要著色,如果需要著色,則著上方塊得顏色,不需要著色的則著上背景顏色,一共有16個小格子構(gòu)成了一個預(yù)顯示塊,共需要檢測16次,其實(shí)當(dāng)中和實(shí)現(xiàn)游戲中的程序有著共同點(diǎn)。 方法:removeLine方法方法定義:public void removeLine(int row)功能描述:這個就是實(shí)現(xiàn)如何將行消除的,其實(shí)就是在判斷了該行該消除的時候?qū)⑸厦娴姆綁K都向下平移一格,這樣在實(shí)現(xiàn)程序界面也就給玩家是消去一行的視覺效果。類三:方塊類(1) 類定義:class RussiaBlock(2) 功能

8、描述:七種類型方塊的父類,定義了所有類型方塊的共同特征和行為。7654321隨機(jī)產(chǎn)生一個數(shù)一字形Z字形反Z形L字形反L形倒T形田字型(3) 設(shè)計方法:方法:run方法方法定義:public void run()功能描述:實(shí)現(xiàn)方塊的運(yùn)行,下落。 方法:moveTo方法方法定義:public synchronized boolean moveTo()功能描述:將當(dāng)前畫移動到newRow/ newCol所指定的位置。 方法:isMoveable方法方法定義:private boolean isMoveable()功能描述:判定當(dāng)前塊是否能被邊界、其他方塊擋住以及不能移動的情況。 方法:turnNex

9、t方法方法定義:public void turnNext()功能描述:實(shí)現(xiàn)方塊的旋轉(zhuǎn)。 方法:turnTo方法方法定義:private synchronized boolean turnTo()功能描述:將當(dāng)前塊變成newStyle所指定的塊樣式。 方法:isTurnable方法方法定義:private boolean isTurnable()功能描述:判定當(dāng)前塊是否能變成newStyle所指定的塊樣式。 方法:erase方法方法定義:private void erase()功能描述:將當(dāng)前塊從畫布的對應(yīng)位置移除。 方法:display方法方法定義:private void display()

10、功能描述:實(shí)現(xiàn)重畫畫布的時候顯示當(dāng)前塊。類四:主游戲類(1) 類定義:RussiaBlocksGame(2) 功能描述: 游戲主類,負(fù)責(zé)游戲的全局控制。(3) 設(shè)計方法: 方法:checkFullLine 方法方法定義:public void checkFullLine() 功能描述: 這個是表示的清除需要消除的行的算法,只需要對行中的小方塊進(jìn)行判斷,判斷是否都已經(jīng)著色,如果都著色了說明改行是要消除的,而且還需要進(jìn)行加分措施,在進(jìn)行多行消除的時候,可以給玩家更多的獎勵,這也符合俄羅斯方塊的游戲股則。 方法:play方法方法:private void play()功能實(shí)現(xiàn):實(shí)現(xiàn)游戲開始,同時在游

11、戲的開始時,方塊隨即從頂端的任何位置落下。 方法:getCurLevelScore方法方法定義:public int getCurLevelScore()功能描述:實(shí)現(xiàn)獲得每個等級的分?jǐn)?shù) 方法:setLevel方法方法定義:public void setLevel(int level)功能描述:進(jìn)行等級的手動調(diào)節(jié) 方法:levelUpdate 方法方法定義:public void levelUpdate()功能描述:這是更新等級的函數(shù),一個是通過分?jǐn)?shù)的判斷,在程序中定義了一個本級得分,然后當(dāng)本級得分達(dá)到一個分?jǐn)?shù)的時候,就可以進(jìn)入下一個等級,同時根據(jù)等級的提高,之前定義的下落速度也會提高,同時減

12、去升級需要的分?jǐn)?shù),也就可以用作下一次升級的判斷。(4)設(shè)計描述:窗體設(shè)計窗體大?。海?00,400),默認(rèn)居中顯示,代碼如下:Dimension scrSize=Toolkit.getDefaultToolkit().getScreenSize();setLocation(scrSize.width-getSize().width)/2,(scrSize.height-getSize().height)/2);添加windows窗口事件: addWindowListener( new WindowAdapter() public void windowClosing(WindowEvent e

13、vent) System.exit(0); );窗體名稱為:俄羅斯方塊游戲。菜單設(shè)計游戲菜單:包括重新游戲,退出兩個菜單項(xiàng)。控制菜單:包括暫停,繼續(xù),結(jié)束三個菜單項(xiàng)。以菜單項(xiàng)為例 gameMenu = new JMenu("游戲"); newGameItem = new JMenuItem("重置"); exitItem = new JMenuItem("退出"); gameMenu.add(newGameItem); gameMenu.add(exitItem); 添加背景音樂方法public void Music () Strin

14、g music = "background.wav" final AudioClip clip = Applet.newAudioClip(getClass().getResource(music); clip.play(); 通過調(diào)用Music()來實(shí)現(xiàn)背景音樂播放。類五:虛擬單個方格類類(1) 類定義:RussiaBlocksGame(2) 功能描述:控制方格的顏色。(3) 設(shè)計方法:方法:setColor方法方法定義:public void setColor()功能描述:對有標(biāo)記的方塊進(jìn)行著色 用戶手冊l 控制區(qū):玩家在界面上可以看到開始游戲的按鈕,點(diǎn)擊該按鈕,開始游

15、戲,控制區(qū)和界面上都有暫停,繼續(xù)的按鈕,按下暫停則游戲暫停,并且界面上的按鈕變成繼續(xù)的字樣,同理按下繼續(xù),游戲退出,用戶結(jié)束游戲。l 游戲菜單區(qū):重置:如果玩家在結(jié)束了游戲或者在游戲中向開始進(jìn)行新的游戲,則可以點(diǎn)擊該按鈕,如果玩家不想繼續(xù)玩得話,直接點(diǎn)擊結(jié)束按鈕結(jié)束游戲,并退出窗口。l 控制菜單:暫停,繼續(xù),退出游戲的功能都和控制區(qū)一樣的效果l 關(guān)于菜單:該菜單游戲的操作的簡介,方向鍵的左,下,右就是游戲中的操作方法,方向鍵上則是對圖形的反轉(zhuǎn)變化。 測試計劃右側(cè)按鈕測試1.點(diǎn)擊“開始/重置” 按鈕效果:游戲開始與重置結(jié)果:正常2.點(diǎn)擊“暫停/繼續(xù)” 按鈕效果:游戲根據(jù)操作能暫停與繼續(xù)相互切換結(jié)

16、果:正常3.點(diǎn)擊“結(jié)束” 按鈕效果:游戲重置,屏幕重新刷新結(jié)果正常鍵盤事件的功能測試 1.方塊移動測試 游戲過程中,點(diǎn)擊“左、右、下”方向鍵輸出:方塊正常移動,不會移出邊界結(jié)果:正常 2. 方塊反轉(zhuǎn)測試 游戲過程中,點(diǎn)擊向上方向鍵輸出:方塊無邊界和障礙物阻擋的情況下可反轉(zhuǎn)結(jié)果:正常方塊堆砌與消行測試1. 當(dāng)方塊下落到最底面或與障礙物接觸時輸出:方塊成功堆砌在底部結(jié)果:正常 2. 當(dāng)出現(xiàn)滿行現(xiàn)象時輸出:所有滿行被消除,方塊依次下移結(jié)果:正常課程設(shè)計心得體會課程設(shè)計是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.Java語言是一門強(qiáng)大的語言,比我們所學(xué)過的C語言有很強(qiáng)的功能,可以有美化的圖形界面設(shè)計,可以連接數(shù)據(jù)庫,解決用文件存儲的繁瑣過程,使得軟件所產(chǎn)生的數(shù)據(jù)更容易管理和維護(hù)。在設(shè)計初期時,組員通過交流,討論,定下了課題俄羅斯方塊游戲。分工之后,將整個課題分為三個部分。在編程階段,我們發(fā)現(xiàn)一學(xué)期所學(xué)的知識難易填補(bǔ)課題所需的知識漏洞,通過參考課外書籍,網(wǎng)絡(luò)資源,掌握了課本之外的一些技巧與知識。我們在課程設(shè)計的同時感覺到我們還欠缺很多。通過此次課程設(shè)計,我們對專業(yè)知識又有了更進(jìn)一步的了解,對培養(yǎng)我們專業(yè)興趣起到良好的推動作用。課程設(shè)計在銜接之時也遇到一些問題,有一些程序BUG,經(jīng)過討論修

溫馨提示

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

評論

0/150

提交評論