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