




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.....XX城建學院課程設計報告書專業:計算機科學與技術課程設計名稱:《Java高級應用》題目:俄羅斯方塊____設計者:同組人員:指導完成時間:2016年06月08..目錄一、設計目的1二、需求分析22.1游戲功能的需求分析22.2方塊及旋轉變換需求分析32.3游戲運行需求分析42.4消行和分數統計需求分析5三、模塊分析及設計63.1總體設計思想63.2功能模塊6四、制作過程及要點94.1游戲一個單元塊的設計與實現94.2俄羅斯方塊的控制設計94.3俄羅斯方塊的設計與實現104.4要點分析10五、設計總結12六、參考資料13設計目的在個人電腦日益普及的今天,一些有趣的桌面游戲已經成為人們在使用計算機進行工作或學習之余休閑娛樂的首選,而俄羅斯方塊游戲是人們最熟悉的小游戲之一,它以其趣味性強,易上手等諸多特點得到了大眾的認可,因此開發此游戲軟件可滿足人們的一些娛樂的需求。此俄羅斯方塊游戲可以為用戶提供一個可在普通個人電腦上運行的,界面美觀的,易于控制的俄羅斯方塊游戲。俄羅斯方塊是家喻戶曉的益智小游戲,它由俄羅斯人阿列克謝帕基特諾夫〔AlexeyPazhitnov在1984年6月利用空暇時間編寫的游戲程序,故此得名。俄羅斯方塊的基本規則是移動、旋轉和擺放游戲隨機產生的各種方塊,使之排列成完整的一行或多行并且消除得分。它看似簡單卻變化無窮,俄羅斯方塊上手極其簡單,且游戲過程變化無窮,作為游戲本身很有魅力,但是要熟練掌握其中的操作和擺放技巧,難度卻不低。此軟件給用戶提供了一個展現自己高超技藝的場所,在這里,它不僅放松自己,還能感受到游戲中的樂趣。游戲區域會從頂部不斷隨機落下7種方塊類型的一種,游戲區域右上角有一個區域可以顯示下一個方塊的形狀,玩家可以控制俄羅斯方塊移動、旋轉。通過玩家的操作,下墜物在游戲區域以"擺積木"的形式出現。下墜物在一行或多行堆滿后就可以自動消除,消行后會得到相應的分數,如果當前下墜物堆積至窗口頂端,則游戲結束。二、需求分析2.1游戲功能的需求分析先分析一下整個游戲的具體實現,首先,游戲有開始、幫助、切換界面、結束游戲等操作接口,而在游戲過程中,隨著玩家的按鍵,會出現下墜物的形態變化、擺放下墜物件、銷毀填滿的行以及分數的增加和等級速度、產生下一個方塊、退出等功能。先分析游戲的特點,游戲需要產生不同種類的俄羅斯方塊,要對俄羅斯方塊進行左右移動,旋轉,加速下落等功能,然后對這些功能一一進行細化,寫出對應的實現的代碼,并美化游戲界面,從而完成整個游戲的設計。游戲方塊控制功能當玩家按下相應的操作鍵位時,通過條件判斷,判斷該操作是否可行,如果可行就執行相應的操作。主要的操作有游戲方塊的左移,右移,旋轉變形以及方塊加速。例如當按下左移按鈕時,方塊會進行判斷是否可左移,返回值為真時可以左移,否則不能。方塊的生成及顯示功能游戲中會有兩個地方產生俄羅斯方塊,一個是游戲區域上方會有俄羅斯方塊落下,還有就是在屏幕右上角,也會產生下一個俄羅斯方塊,該俄羅斯方塊為游戲區域下一個要產生的方塊。同時當游戲俄羅斯方塊左右移動,下落,旋轉變形時,要與先前的游戲方塊重合并完成消除行功能,還要求出被操作后的方塊坐標,用新坐標重繪下一個游戲方塊。方塊的擺放消行功能當方塊落到底部的時候,通過條件判斷,把方塊擺放在屏幕底部并持續顯示,當某行或者某幾行被填滿的時候,要把這幾行消除,并且被消除的行數上方的方塊整體下移。游戲分數統計功能記錄游戲積分,每當有行被消除時,游戲積分會根據一次消除的行數而增加相應的分數,分數要設置一個最高值,當到達最高分時等級增加,難度增大。游戲速度更新功能當游戲積分達到某一條件時,系統將自動為玩家提高難度。難度增加的時候,方塊的下降速度會加快,增加游戲可玩性和趣味性。游戲等級更新功能當游戲積分達到某一條件時,系統將自動為玩家提高難度。難度增加的時候,方塊的下降速度會加快,相應的等級也會增加,增加游戲可玩性和趣味性。游戲結束控制功能通過判斷,如果擺放的方塊超過屏幕頂端的時候,則游戲結束,可以返回菜單重新開始游戲。也可通過點擊退出按鈕,結束游戲,退出游戲界面。2.2方塊及旋轉變換需求分析本游戲共有7種類型的方塊,而每種類型方塊還可以通過旋轉變換成4種不同形態的方塊進行擺放。方塊生成后可以將它們擺放在一個游戲顯示運行的區域內,該區域可以看作是有許多個等面積小方格構成的區域,而這些區域的狀態只有兩種,被方塊占據或空閑。因此,對于整個游戲區域的空間是占據或空閑,可以用一位數來標識,對于7種方塊和它們旋轉后的形態我們可以用不同的標識進行標記。對于旋轉,游戲中所有方塊都是按照順時針旋轉的規則進行的,而且在旋轉過程中它們不會因為旋轉而下降,總會保持在同一高度,但是在同一高度最多旋轉三次,就會下降一格,任何下墜物經過一個旋轉周期還會變回原型。2.3游戲運行需求分析游戲開始后會隨機產生一個方塊,顯示在游戲區域,同時右上角也會隨機產生一個新的方塊,該方塊為游戲區域下一個將要產生的方塊,游戲區域不再隨機生成方塊。當游戲區域的方塊下落到底后,新的方塊再次進入游戲區域,如此循環,直到游戲結束,這就是游戲的正常工作。當用戶進行一定的操作交互的時候,運行程序可以根據用戶的操作指示對方塊進行控制,而這些操作都是響應相關的按鍵而執行的。按游戲中定義的旋轉鍵,此事件實現下墜方塊旋轉操作,方塊并非任何情況都能旋轉,如果旋轉后與已擺放好的方塊有沖突或超出邊界時,均不能發生旋轉。因此首先要判斷是否有足夠的空間進行旋轉,然后決定是否旋轉。按游戲左鍵,此事件實現下墜方塊左移操作,首先要判斷此方塊是否能夠發生左移,當越界或被其他擺放好的方塊阻擋時,則不能左移。按游戲右鍵,此事件實現下墜方塊右移操作。首先要判斷此方塊是否能夠發生右移,當越界或被其他擺放好的方塊阻擋時,則不能右移。2.4消行和分數統計需求分析當一個方塊下落到游戲區域底部進行擺放后就要進行一次消行檢測,檢測是否有行被填滿,檢測時從剛擺放的方塊最上面那一行開始往下檢測,由于方塊的形狀限制可知每次最多只能消除四行,所以只需檢測四行即可。檢測到一行被填滿時該行上面的方塊整體下移一行,包括空洞,然后繼續檢測下一行,直到四行都被檢測完。消行以后要統計游戲的積分,根據每次消除的行數t的不同而累加不同的積分,游戲積分通過公式score+=t*t*100來計算,消除一行得100分,消除兩行得400分,消除三行得900分,消除四行得1600分。設置最高分數,當分數達到最高分數后,游戲等級增加,游戲速度數值會增加以及加快速度,游戲速度有一個最大值,當到達這個值時,游戲速度將不再加快。分數統計和消除行是連貫動作,在消除行后要對分數進行增加,同時頁面更新,頁面上的分數,等級,速度都會更新,游戲區域的方塊也更新,有一行被消除,游戲繼續。當方塊落到底部的時候,通過條件判斷,把方塊擺放在屏幕底部并持續顯示,當某行或者某幾行被填滿的時候,要把這幾行消除,并且被消除的行數上方的方塊整體下移。三、模塊分析及設計3.1總體設計思想俄羅斯方塊游戲設計主要從9個方面進行構思。<1>游戲主界面的設計。<2>方塊的設計。<3>方塊的旋轉。<4>方塊的運動情況〔包括向左、向右<5>方塊的自動消行功能。<6>游戲速度的調節。<7>游戲積分的計算。<8>游戲開始菜單的設計。<9>游戲結束界面的設計。3.2功能模塊開始和退出游戲模塊首先開始和退出游戲按鈕出現在進入游戲界面和游戲界面,需要在xml下加入Button按鈕,當點擊按鈕時跳轉到目標界面或者開始游戲。例如點擊進入游戲的開始按鈕,會進入游戲界面,游戲界面也可點擊開始按鈕才能開始游戲,游戲開始后可以點擊退出按鈕,終止當前游戲,返回到進入游戲界面,或者當方塊滿時,游戲自動結束,退出游戲界面。圖3.1圖3.2游戲控制模塊俄羅斯方塊包括對游戲中的方塊進行的操作,如左〔右移動,旋轉,下落加速等功能。圖3.3圖3.43.2.3游戲幫助功能在游戲的開始界面上,當玩家對該游戲不熟悉時可點擊幫助按鈕。圖3.5圖3.6四、制作過程及要點4.1游戲一個單元塊的設計與實現每一個俄羅斯方塊包括四個四個單元塊,設置一個單元塊的大小,對單元塊的位置用坐標表示,根據繪制好的網格定義單元格坐標,判斷單元格的一些功能的實現,例如旋轉,左右移動,是否與其他單元塊接觸。通過檢測單元塊是否超界來判斷,并把結果返回。4.2俄羅斯方塊的控制設計方塊是游戲最基本的元素,俄羅斯方塊所有的操作都是建立在對方塊的操作上。對方塊的控制,實際就是對每一個小方塊的控制,一個俄羅斯方塊單元是由4個小方塊構成,通過計算每一個小方塊的橫縱坐標來表現出一個下落或者一個已經擺放好的俄羅斯方塊單元。由此來布置游戲區域方塊的顯示,方塊的控制主要在TetrisBlock類里實現,用來判斷方塊的各種操作是否可行,如果可行則執行相應的操作,否則操作無效。控制方塊時,首先要判斷該操作是否可以執行,判斷方法主要有判斷方塊是否可以左右移動,判斷方塊是否碰壁,判斷方塊是否觸頂。判斷方塊是否可以左移。包括方塊的翻轉以及當某一行的方塊滿后的消除功能。首先對俄羅斯方塊的定義進行初始化,如種類,方向,顏色,以及存放用的數組。俄羅斯方塊需進行判斷,需要對每個單元塊進行判斷,例如是否能旋轉,需要每一個單元塊都能旋轉,整個方塊才能旋轉,接著是判斷是否接觸邊界,如果已接觸邊界,則不能左〔右移動,否則可左〔右移動,方塊下落過程中可加速,需判斷是否接觸底端或與其他方塊接觸,接觸則不能加速,反之可加速。4.3俄羅斯方塊的設計與實現通過構造函數,定義隨機產生方塊種類以及對應填充色,可隨機產生一個俄羅斯方塊。對俄羅斯方塊的位置用坐標表示,判斷當一行滿之后,消除這一行并相應的分數增加。4.4要點分析完成這個項目主要有幾個問題要處理:①邊界問題,即如何判斷俄羅斯方塊是否已經到達邊界,主要是在左右移動和下降過程中,判斷俄羅斯方塊是否已經抵達邊界,使其不超越邊界。②接觸問題,即如何判斷俄羅斯方塊已經與其他俄羅斯方塊接觸,此時應該停止方塊的下落,或者避免方塊間重合。③旋轉問題,俄羅斯方塊要旋轉很簡單,只要用轉換公式即可,但問題是如何判斷旋轉后的位置是否不合法,即有沒有可能觸及邊界,或者與其他俄羅斯方塊重合。④消去問題,當網格中有一行填滿了方塊,需要消去此行,并將在其上的所有方塊均向下移動一行,更新分數等相關信息。第①和第②個問題類似,每個俄羅斯方塊〔TetrisBlock對象包含四個更小的塊單元〔BlockUnit>,在處理這兩個問題的時候只要在塊單元類當中添加判斷塊單元對象是否接觸邊界或者其他俄羅斯方塊的塊單元的方法,然后俄羅斯方塊類的判斷接觸邊界或其他俄羅斯方塊的方法,只需依次調用該俄羅斯方塊對象的所有塊單元對象的判斷方法,若其中一個塊單元接觸邊界,則該俄羅斯方塊接觸邊界。而邊界和方塊接觸問題都可以大致分為兩類,a.接觸兩側邊界或在兩側接觸其他俄羅斯方塊,b.接觸網格底部邊界或者方塊接觸其下的其他俄羅斯方塊。這兩類問題需要分開處理,因為方塊的下落和左右移動是分開進行的,當方塊左右移動時不能穿過兩側邊界或與其他俄羅斯方塊重合,當方塊下落時,則不能穿過底部邊界或穿過其下的俄羅斯方塊。
第③個問題,先克隆一個下落的俄羅斯方塊,對其進行旋轉操作,然后判斷其是否超越邊界或者與其他俄羅斯方塊重合,若其狀態合法則將下落的俄羅斯方塊進行旋轉操作,否則結束操作并返回。
第④個問題,用一個數組標記每行塊單元個數,并計算每行最多可填入多少個塊單元,若某一行已經填滿則,刪除每個俄羅斯方塊中在該行上的塊單元,并且將在該行之上的塊單元全部向下移動一行。五、設計總結通過這次俄羅斯方塊課程設計,不能說對這門課學到了很多,而是對俄羅斯方塊這個游戲加深了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 事業單位員工停薪留職合同范例
- 保姆工作合同樣本
- 檔口分租合同
- 醫院臨時工聘用勞動合同范文二零二五年
- 二零二五版管理人員聘用合同集錦
- 工程項目施工管理協議
- 二零二五頂管施工安全協議
- 高速鐵路突發事件的處理-教案
- 弱電安全施工方案
- 部編人教版四年級語文上冊《蝴蝶的家》教學設計
- 2021年溫二高、甌海中學、龍灣中學提前招生英語試卷
- 2022年學位英語考試模擬試題一及答案
- DB63-T 1110-2020 青海省綠色建筑評價標準-(高清現行)
- 科學技術獎勵項目專家評分表
- 錦屏二級水電站廠區樞紐工程測量方案
- 簡約復古風夏洛蒂勃朗特《簡愛》作品簡介名著讀后感PPT課件
- 新人教版七年級初一數學下冊第一二單元測試卷
- 白內障手術操作規范及質量控制標準(2017版)
- 《電子商務法律法規》課程標準
- 中國聯通科技創新獎勵辦法
- 中藥飲片儲存與養護
評論
0/150
提交評論