版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 第一章 需求分析1</p><p> 1.1 可行性分析1</p><p> 第二章總體設(shè)計5</p><p><b> 2.1 類關(guān)系5</b></p><p> 第三章詳細設(shè)計7&
2、lt;/p><p> 3.1 主類EBlock7</p><p> 3.2 類MyPanel8</p><p> 3.3 類GameCanvas8</p><p> 3.4 類Command10</p><p> 3.5 類Block11</p><p> 3.6 類MyTim
3、er12</p><p> 3.7 類WinListener13</p><p> 第四章運行效果與測試14</p><p> 4.1 測試與調(diào)試14</p><p> 4.2 游戲運行情況:15</p><p> 4.3 測試與調(diào)試結(jié)果:21</p><p><b
4、> 工作總結(jié)22</b></p><p><b> 第一章 需求分析</b></p><p><b> 1.1 可行性分析</b></p><p> 1.1.1 游戲概況分析</p><p> 俄羅斯方塊游戲是本世紀70年代由前蘇聯(lián)電腦工程師Alexey Pajitn
5、ov創(chuàng)造的一款積木游戲,其版權(quán)被任天堂公司購買。在中國,最早于80年代初出現(xiàn)在街機上,后來被移植到任天堂公司家喻戶曉的“紅白機”上。90年代該游戲被制作成一種單一游戲的簡易掌上游戲機,曾經(jīng)在中國風(fēng)靡一時。再后來,方塊游戲被移植到手機、電子字典、PDA等多種載體上,特別是電子字典版本的俄羅斯方塊,在高校中的影響力非常大。俄羅斯方塊勘稱世界上最為經(jīng)久不衰的游戲之一,簡單的規(guī)則帶來無窮的樂趣而且老少皆宜。</p><p&g
6、t; 無可爭議,《俄羅斯方塊》是有史以來最偉大的游戲之一。然而,還有一個很強的理由讓我們?nèi)サ簟爸弧边@兩個字,使它成為唯一的“最偉大的游戲”。請這樣想:有哪個當(dāng)代的電子游戲或電腦游戲能與它相提并論?比如說,能被100年后的人們繼續(xù)拿來玩?</p><p> 沒有,除了《俄羅斯方塊》外一個也沒有。它是永恒的娛樂經(jīng)典,但它實際上又和那些傳統(tǒng)的經(jīng)典娛樂方式不同,因為它的本質(zhì)是電子化的,所以它的確屬于現(xiàn)代產(chǎn)物。比如,
7、《俄羅斯方塊》與象棋就不同,你不能以任何實體形式去玩俄羅斯方塊。的確,在許多年里,《俄羅斯方塊》以無數(shù)形式經(jīng)過了大量變形和更改,但游戲核心依然保持不變。這些游戲的核心能夠提供吸引人親自動手實踐的挑戰(zhàn)。</p><p> 《俄羅斯方塊》的起源實際上要追溯到八十年代中期,盡管它的人氣一直到幾年后才開始顯露出來。游戲的概念十分簡單,如今已經(jīng)成為一種公認的規(guī)則:屏幕頂部以隨機順序落下形狀各異的碎塊,你要試圖用它們拼成沒
8、有空隙的行列。你沒法打贏《俄羅斯方塊》,因為你堅持得時間越長,游戲速度也就變得越來越快,而游戲的吸引力就在于使你頂住碎塊的進攻,支撐的時間比上一次更長?!抖砹_斯方塊》舉世聞名的游戲性,在該游戲新鮮出爐時就顯得非常直觀。某些與墜落的玩具碎片和它們的形狀有關(guān)的東西,使得哪怕新手也會很自然地企圖把它們排列起來,并加以適當(dāng)組合,就好似《俄羅斯方塊》觸動了我們某些內(nèi)在的感官,使得哪怕是我們當(dāng)中最雜亂無章的人也要把事情整理妥當(dāng)。</p>
9、<p> 這個具有定義性和廣泛影響的益智游戲激發(fā)了整整一種風(fēng)格的作品,特別是后來數(shù)年間發(fā)源于日本的某些優(yōu)秀的益智游戲,它們?nèi)荚凇抖砹_斯方塊》的基礎(chǔ)上作了自己獨特的改動。然而,雖然這些游戲看上去各有千秋,但它們與《俄羅斯方塊》的內(nèi)在相似性卻無可否認。 </p><p> 在曾經(jīng)發(fā)布過的所有游戲中,《俄羅斯方塊》還被認為是僅有的一個能夠真正吸引廣泛人群的作品。絕大多數(shù)人都能說出,自己有某些對游戲毫
10、無興趣的親朋好友,卻令人難以置信地癡迷于《俄羅斯方塊》。誰能說清楚,迄今為止人們究竟花了多少萬個小時在這個游戲上?也許這些時間本來可以被花在更具生產(chǎn)力的活動上。某些批評家也許會聲稱,《俄羅斯方塊》要比過去二十年間出現(xiàn)的任何東西都要浪費人們的時間。至于我們,則要欣然提名它為GameSpot評選出的歷史上最偉大游戲之一。</p><p> 1.1.2 游戲內(nèi)容分析</p><p> 俄羅斯
11、方塊游戲是一款操作簡單,規(guī)則簡潔的游戲,基本規(guī)則如下:</p><p> 1.一個用于擺放小型長方形的平面虛擬場地,其大?。盒袑挒?3,列高為19,以每個小正方形為單位;</p><p> 2.一組由4個小型正方形組成的規(guī)則圖形,英文稱為Tetromino,中文通稱為方塊,共有7種,分別以S、Z、L、J、I、O、T這7個字母的形狀來命名; </p><p>
12、3.通過預(yù)先設(shè)置的隨機發(fā)生器不斷地輸出單個方塊到場地頂部,以一定的規(guī)則進行移動、旋轉(zhuǎn)、下落和擺放,鎖定并填充到場地中。每次擺放如果將場地的一行或多行完全填滿,則組成這些行的所有小正方形將被消除,并且以此來換取一定的積分。而未被消除的方塊會一直累積,并對后來的方塊擺放造成各種影響。</p><p> 4.如果未被消除的方塊堆放的高度超過場地所規(guī)定的最大高度,則游戲結(jié)束。</p><p>
13、 5.游戲中方塊的下落的速度由級別而定,級別越高下落速度越快。游戲者可以通過點擊提高級別和降低級別來改變速度。</p><p> 1.1.3 游戲控制分析</p><p> 求生是人類的最基本的本能。一個在游戲中的玩家最不希望看見的就是GameOver。因此,一旦在游戲中遇到挫折,玩家會往往會施展全身解數(shù)自救,以期達到繼續(xù)游戲的目的。人對死亡有天然的恐懼。如果在一段時間的掙扎后能夠找到
14、一條生路,玩家就會感到無比的欣慰。求生的時刻玩家命懸一線,因此是最能體現(xiàn)游戲戲劇性的時刻。在這個時刻起作用的通常是某種形式的“逆轉(zhuǎn)”。玩俄羅斯方塊時,往往就是因為在最后關(guān)頭出現(xiàn)一個戲劇性的方塊導(dǎo)致我們絕境逢生。</p><p> 學(xué)習(xí)是人類的本能,玩家需要在游戲的世界中學(xué)到知識。如果玩家在游戲中無法學(xué)到任何東西,那么他將很快對這款游戲失去興趣。玩家所學(xué)到的經(jīng)驗將轉(zhuǎn)化為一種直覺,并反映在他的下一次游戲中。好的游戲
15、的標準是“易于上手,難于精通”。</p><p> 游戲中總是伴隨著人機的對抗。而這種人機對抗主要體現(xiàn)為一種博弈行為。博弈雙方的行為應(yīng)該是可預(yù)測的。在俄羅斯方塊游戲中,玩家的行動被抽象成了若干基本的按鍵指令或指令組合,因此完全可以通過計算機進行預(yù)測,隨著對游戲的熟練程度的增加,玩家會自己挑戰(zhàn)高速度的級別,并在挑戰(zhàn)中獲得各種樂趣。</p><p> 綜上所述,我們將俄羅斯方塊游戲設(shè)計為一
16、個控制方便,操作簡單,有級別之分的游戲,本游戲程序由鼠標點擊外部控制,鍵盤按鍵實現(xiàn)俄羅斯方塊的移動和變化。具體控制如下所示:</p><p> 表1-1 游戲控制表</p><p><b> 總體設(shè)計</b></p><p><b> 2.1 類關(guān)系</b></p><p> 本俄羅斯方塊游
17、戲共有7個java源文件和2個圖像文件。</p><p> 2.1.1 java文件</p><p> java源文件及其功能如表2-1所示。</p><p> 2.1.2 圖像文件</p><p> 圖2-1 背景圖(q.jpg) 圖2-2 方塊圖(h.jpg)</p><p> 2.1
18、.3 類之間主要關(guān)系</p><p><b> 詳細設(shè)計</b></p><p> 3.1 主類EBlock</p><p> 3.1.1 EBlock類功能</p><p> 創(chuàng)建俄羅斯方塊游戲的程序主窗口,生成游戲的界面,包括左半部分的游戲進行界面和右半部分的游戲信息控制界面。類中含有main方法,程序從
19、該類開始執(zhí)行。</p><p> 3.1.2 EBlock類成員變量</p><p><b> 成員變量見表3-1</b></p><p> 3.1.3 EBlock類方法</p><p><b> 方法見表3-2</b></p><p> 3.1.4 EBl
20、ock類源代碼文件</p><p> 源代碼見文件EBlock.java</p><p> 3.2 類MyPanel</p><p> 3.2.1 MyPanel類功能</p><p> 創(chuàng)建俄羅斯方塊游戲界面的控制面板。</p><p> 3.2.2 MyPanel類成員變量</p>&l
21、t;p><b> 無成員變量。</b></p><p> 3.2.3 MyPanel類方法</p><p><b> 方法見表3-3</b></p><p> 3.2.4 MyPanel類源代碼文件</p><p> 源代碼見文件MyPanel.java</p>&
22、lt;p> 3.3 類GameCanvas</p><p> 3.3.1 GameCanvas類功能</p><p> 創(chuàng)建俄羅斯方塊游戲的游戲畫布,創(chuàng)建畫方塊的對象,實現(xiàn)重畫游戲進行中的背景畫面及其方塊的圖案。</p><p> 3.3.2 GameCanvas類成員變量</p><p><b> 成員變量見表
23、3-4</b></p><p> 3.3.3 GameCanvas類方法</p><p><b> 方法見表3-5</b></p><p> 3.3.4 GameCanvas類源代碼文件</p><p> 源代碼見文件GameCanvas.java</p><p> 3.
24、4 類Command</p><p> 3.4.1 Command類功能</p><p> 處理俄羅斯方塊游戲鍵盤和鼠標的點擊控制,實現(xiàn)方塊的左右和向下移動,以及變形;控制開始、暫停、退出游戲及其級數(shù)的升降。</p><p> 3.4.2 Command類成員變量</p><p><b> 成員變量見表3-6</b
25、></p><p> 3.4.3 Command類方法</p><p><b> 方法見表3-7</b></p><p> 3.4.4 Command類源代碼文件</p><p> 源代碼見文件Command.java</p><p> 3.5 類Block</p>
26、<p> 3.5.1 Block類功能</p><p> 創(chuàng)建俄羅斯方塊游戲的方塊對象。</p><p> 3.5.2 Block類成員變量</p><p><b> 成員變量見表3-8</b></p><p> 3.5.3 Block類方法</p><p><
27、b> 方法見表3-9</b></p><p> 3.5.4 Block類源代碼文件</p><p> 源代碼見文件Block.java</p><p> 3.6 類MyTimer</p><p> 3.6.1 MyTimer類功能</p><p> 實現(xiàn)俄羅斯方塊游戲重畫畫布的時間的控
28、制,體現(xiàn)為方塊下落的速度的快慢。</p><p> 3.6.2 MyTimer類成員變量</p><p><b> 無成員變量。</b></p><p> MyTimer類方法</p><p><b> 方法見表3-10</b></p><p> 3.6.4 M
29、yTimer類源代碼文件</p><p> 源代碼見文件MyTimer.java</p><p> 3.7 類WinListener</p><p> 3.7.1 WinListener類功能</p><p> 創(chuàng)建俄羅斯方塊游戲程序的窗口事件,實現(xiàn)WinListener接口。</p><p> 3.7.2
30、 WinListener類成員變量</p><p><b> 無成員變量。</b></p><p> 3.7.3 WinListener類方法</p><p><b> 方法見表3-11</b></p><p> 3.7.4 WinListener類源代碼文件</p>&
31、lt;p> 源代碼見文件WinListener.java</p><p><b> 運行效果與測試</b></p><p><b> 4.1 測試與調(diào)試</b></p><p> 4.1.1 測試與調(diào)試的方法</p><p> 1.人工檢查,即靜態(tài)檢查。在寫好此程序后,對紙面上的程
32、序進行人工檢查,發(fā)現(xiàn)很多由于疏忽而造成的錯誤(如{ }沒有搭配完整,漏寫 ,拼寫錯誤等),減少占用機器的時間。在上機調(diào)試之前我們對所編的程序作了紙面上的檢查,先消滅一些低級錯誤,所謂的低級錯誤是指由于人為的輸入不仔細等造成的,,這些都是我們通過認真的態(tài)度在運行之前可以解決、避免的。</p><p> 2.上機調(diào)試,即動態(tài)調(diào)試。通過上機發(fā)現(xiàn)很多編譯時的語法錯誤,根據(jù)提示信息找出具體的出錯之處并改正。</p&
33、gt;<p> 3.開始時規(guī)定一個已知的條件,并預(yù)知結(jié)局,調(diào)試時從已知的條件開始,觀察結(jié)局。</p><p> 4.計劃好要測試的內(nèi)容。</p><p> 5.在測試之后,發(fā)現(xiàn)錯誤時,在方法,思路,策略進行調(diào)整。</p><p> 6.具體內(nèi)容進行隨機性的測試和調(diào)試。</p><p> 7.運行程序,執(zhí)行測試項目,逐個
34、功能進行運行,看是否符合要求。</p><p> 4.1.2 測試項目</p><p> 1.游戲的運行,初始界面。</p><p> 2.點擊“開始游戲”,游戲是否正常開始。</p><p> 3.點擊“暫停游戲”,游戲是否暫停。</p><p> 4.點擊“提高級數(shù)”,游戲速度是否加快,級數(shù)項顯示是否增
35、加。</p><p> 5.點擊“降低級數(shù)”,游戲速度是否降低,級數(shù)項顯示是否降低。</p><p> 6.分別按鍵盤上的“左”、“右”、“下”、“空格”,方塊是否左移、右移、下移、變形。</p><p> 7.當(dāng)一層滿了以后,是否消掉此層。</p><p> 8.當(dāng)方塊累積到最高點時,游戲是否會自動結(jié)束。</p>&l
36、t;p> 9.點擊“退出游戲”,游戲是否關(guān)閉。</p><p> 4.2 游戲運行情況</p><p> 測試項目1:顯示游戲圖形界面,如圖4-1游戲界面所示:</p><p> 圖4-1 游戲界面</p><p> 測試項目2:點擊“開始游戲”后,游戲開始,如圖4-2開始游戲所示:</p><p>
37、 圖4-2 開始游戲</p><p> 測試項目3:點擊“暫停游戲”,方塊不再下落,如圖4-3暫停游戲所示:(與圖4-2比較)</p><p> 圖4-3 暫停游戲 </p><p> 測試項目4:點擊“提高級數(shù)”,現(xiàn)在的級數(shù)由“1”變?yōu)椤?”,游戲速度有了一定加快,如圖4-4提高級數(shù)所示:</p><p> 圖4-4 提高級
38、數(shù)</p><p> 測試項目5:點擊“降低級數(shù)”,現(xiàn)在的級數(shù)由“2”變?yōu)椤?”,游戲速度有了一定降低,如圖4-5降低級數(shù)所示:</p><p><b> 圖4-5降低級數(shù)</b></p><p> 測試項目6:基準方塊為圖4-6基準方塊所示:</p><p><b> 圖4-6基準方塊</b&g
39、t;</p><p> 按鍵盤“左”鍵,方塊左移,如圖4-7方塊左移所示:(與圖4-6基準方塊比較)</p><p><b> 圖4-7方塊左移</b></p><p> 按鍵盤“右”鍵,方塊右移,如圖4-8方塊右移所示:(與圖4-7方塊左移比較)</p><p><b> 圖4-8</b>
40、</p><p> 按鍵盤“空格”鍵,方塊變形,如圖4-9方塊變形所示:(與圖4-8方塊右移比較)</p><p><b> 圖4-9方塊變形</b></p><p> 測試項目7:未消層前游戲界面如圖4-10未消界面所示:</p><p><b> 圖4-10未消界面</b></p&
41、gt;<p> 方塊落下以后,消層后的游戲界面如圖4-11消后界面所示:</p><p><b> 圖4-11消后界面</b></p><p> 測試項目8:方塊累積到最高點時,游戲結(jié)束,如圖4-12積累頂端所示:</p><p><b> 圖4-12積累頂端</b></p><p
42、> 測試項目9:點擊“退出游戲”,游戲關(guān)閉。</p><p> 4.3 測試與調(diào)試結(jié)果</p><p> 經(jīng)過對俄羅斯方塊游戲程序各個功能的測試,能夠完成開始、移動、關(guān)閉等要求完成的功能。游戲程序基本上完成了它的設(shè)計功能,所以說游戲程序達到了前期設(shè)定的設(shè)計要求。本游戲程序功能完整,并在調(diào)試過程中正確提示了各種錯誤種類,及時對其進行了改正。但是在測試中也發(fā)現(xiàn)游戲程序的一些繁冗與缺
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計報告-俄羅斯方塊
- java俄羅斯方塊課程設(shè)計
- java課程設(shè)計--俄羅斯方塊游戲
- java課程設(shè)計---俄羅斯方塊游戲
- java課程設(shè)計---俄羅斯方塊游戲
- java課程設(shè)計實驗報告俄羅斯方塊
- java課程設(shè)計實驗報告---俄羅斯方塊
- 基于java的俄羅斯方塊
- 《c++俄羅斯方塊》課程設(shè)計--俄羅斯方塊
- 俄羅斯方塊的java實現(xiàn)
- 俄羅斯方塊課程設(shè)計報告
- 俄羅斯方塊課程設(shè)計報告
- 畢業(yè)論文-java俄羅斯方塊
- java俄羅斯方塊畢業(yè)論文
- 畢業(yè)論文----java俄羅斯方塊
- 俄羅斯方塊
- 俄羅斯方塊編程課程設(shè)計報告
- 課程設(shè)計---俄羅斯方塊
- 俄羅斯方塊課程設(shè)計
- 俄羅斯方塊課程設(shè)計
評論
0/150
提交評論