




免費(fèi)預(yù)覽已結(jié)束,剩余21頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Based on the design and implementation of Java game Tetris,基于Java的俄羅斯方塊游戲的設(shè)計(jì)與實(shí)現(xiàn),LOGO,畢業(yè)論文答辯,01,02,目 錄,03,04,05,06,研究方法及相關(guān)技術(shù),程序需求分析簡(jiǎn)介,課題綜述與研究背景、意義,程序系統(tǒng)設(shè)計(jì)簡(jiǎn)介,程序總體設(shè)計(jì)簡(jiǎn)介及測(cè)試運(yùn)行,論文總結(jié)與致謝,1,課題綜述與研究背景、意義,俄羅斯方塊游戲是一款風(fēng)靡全球,經(jīng)久不衰的游戲產(chǎn)品。它曾經(jīng)創(chuàng)造了無(wú)可匹敵的商業(yè)價(jià)值,影響了一代游戲業(yè)的發(fā)展史,推動(dòng)了信息時(shí)代科技時(shí)代的不斷發(fā)展。,隨著計(jì)算機(jī)技術(shù)的日漸更新與不斷迅速的發(fā)展,俄羅斯方塊游戲也從原來(lái)的掌機(jī),電視游戲機(jī)發(fā)展處pc端,智能手機(jī)游戲等各種各樣的模式。俄羅斯方塊游戲的影響力毋庸置疑。俄羅斯方塊游戲界面簡(jiǎn)單,代碼、算法實(shí)現(xiàn)并不復(fù)雜,是一款作為初學(xué)者熟悉知識(shí),鍛煉編程技巧的良好的游戲系統(tǒng)。,游戲研究背景,程序開(kāi)發(fā)意義,俄羅斯方塊游戲是一款簡(jiǎn)單、益智但又不缺乏樂(lè)趣的休閑小游戲,在日益繁忙,生活節(jié)奏越來(lái)越快的現(xiàn)代生活中,為壓力巨大的人們提供了一款既節(jié)省時(shí)間又有趣的小游戲。并且俄羅斯方塊游戲開(kāi)發(fā)簡(jiǎn)單,實(shí)現(xiàn)并不復(fù)雜,是編程新手很好的練習(xí)素材。本次課題研究,不僅在開(kāi)發(fā)技術(shù)上,還是社會(huì)意義上都具有很大的價(jià)值。,首先,俄羅斯方塊首先作為一種教育用軟件,在授權(quán)給各大公司之后,各大平臺(tái)上就陸續(xù)出現(xiàn)了無(wú)數(shù)的各種各樣版本的俄羅斯方塊游戲。在海灣戰(zhàn)爭(zhēng)期間,美國(guó)前線的美國(guó)士兵都將這款游戲作為消磨時(shí)光的最佳選擇之一。其次,俄羅斯方塊游戲具有簡(jiǎn)單性,數(shù)學(xué)性,動(dòng)態(tài)性和極大的知名度,程序員經(jīng)常作為設(shè)計(jì)與練習(xí)的題材。讓俄羅斯方塊游戲的研究變得越來(lái)越火。,俄羅斯方塊游戲研究現(xiàn)狀,2,Chapter,研究方法與技術(shù),Java在發(fā)展的近20年間,已發(fā)展成為人類計(jì)算機(jī)歷史上最有影響力的編程語(yǔ)言之一,甚至其超出了編程語(yǔ)言的范疇,成為了一種開(kāi)發(fā)規(guī)范模式。本課程設(shè)計(jì)主要用Java編程語(yǔ)言,在Eclipse平臺(tái)上實(shí)現(xiàn)。,Java語(yǔ)言是一門非常純粹它吸引了C語(yǔ)言和C+語(yǔ)言的各種優(yōu)點(diǎn),又摒棄了C+語(yǔ)言里難以理解的多繼承,指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)非常良好的特征的面向?qū)ο蟮木幊陶Z(yǔ)言。,Java,Eclipse,Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái),專注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。Eclipse只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。,組 件,簡(jiǎn)介,S W I N G,Swing API 是一組可擴(kuò)展的 GUI 組件,用來(lái)創(chuàng)建基于 JAVA 的前端/ GUI 應(yīng)用程序。它是建立在 AWT API 之上,并且作為 AWT API 的替代者,因?yàn)樗膸缀趺恳粋€(gè)控件都對(duì)應(yīng) AWT 控件。 Swing 組件遵循模型 - 視圖 - 控制器架構(gòu)來(lái)滿足下面的準(zhǔn)則。一個(gè)單一的 API 足夠支持多種外觀和風(fēng)格;API 是模擬驅(qū)動(dòng)的,這樣最高層級(jí)的 API 不需要有數(shù)據(jù);API 是使用 Java Bean 模式的,這樣 Builder Tools 和 IDE 可以為開(kāi)發(fā)者提供更好的服務(wù)來(lái)使用它。 Swing特點(diǎn)主要有:輕量級(jí)、豐富的控件、高級(jí)自定義、可插拔的外觀和風(fēng)格。,3,Chapter,程序需求分析簡(jiǎn)介,系統(tǒng)的需求分析,主要是用來(lái)說(shuō)明本系統(tǒng)是一個(gè)什么系統(tǒng),必須用來(lái)做什么,就這個(gè)問(wèn)題上達(dá)到開(kāi)發(fā)人員和主要用戶之間的共識(shí)。系統(tǒng)的可行性分析,主要就是對(duì)系統(tǒng)的所有的一切資源實(shí)施進(jìn)行分析,用來(lái)說(shuō)明系統(tǒng)的開(kāi)發(fā)和投入的合理性,可行性和必然性,并對(duì)其中可能會(huì)出現(xiàn)的不可預(yù)見(jiàn)性的問(wèn)題進(jìn)行合理的分析。,本游戲系統(tǒng)主要是用于大學(xué)生軟件工程畢業(yè)課程設(shè)計(jì),不需要考慮其所能產(chǎn)生的經(jīng)濟(jì)效益和游戲日后的發(fā)展?fàn)顟B(tài)。所以經(jīng)濟(jì)問(wèn)題可不用考慮。,經(jīng)濟(jì)可行性分析,本系統(tǒng)主要利用的是Java中的Swing組件進(jìn)行開(kāi)發(fā),技術(shù)方面要求并非特別困難,技術(shù)可行。,技術(shù)可行性分析,本游戲系統(tǒng)的開(kāi)發(fā)主要是用于畢業(yè)課程設(shè)計(jì)與論文,用以鞏固大學(xué)四年學(xué)習(xí)的知識(shí),主要以個(gè)人和學(xué)校為單位,僅供個(gè)人娛樂(lè)和學(xué)校的課程設(shè)計(jì)與畢業(yè)論文檢查入檔案。,社會(huì)可行性分析,可行性分析,界面需求,形狀需求,鍵盤(pán),鼠標(biāo),顯示需求,本游戲的默認(rèn)背景色是深綠色,游戲主界面畫(huà)面自定義為自己的所喜歡的圖片,并可以更改,主界面方塊默認(rèn)用橘黃色,預(yù)顯方塊顏色默認(rèn)為淡紫色。背景色、前景色對(duì)比鮮明,以達(dá)到讓玩家眼前一亮的感覺(jué)。,鍵盤(pán)、鼠標(biāo)處理事件需求,當(dāng)方塊下落時(shí),玩家可以通過(guò)鍵盤(pán)上的方向鍵標(biāo),可以點(diǎn)擊控制面板中的菜單按鈕和幫助按鈕。,用數(shù)組作為存儲(chǔ)方塊52種狀態(tài)的數(shù)據(jù)結(jié)構(gòu),即初級(jí)等級(jí)長(zhǎng)條形、Z字形、反Z形、田字形、7字形、反7形、T字型一共7種形狀的向4個(gè)方向的旋轉(zhuǎn)變形,和中級(jí)等級(jí)的三種方塊12種不同的狀態(tài),高級(jí)等級(jí)的三種方塊12種不同的狀態(tài)。,要求當(dāng)方塊落下后填滿一整行,則該行消除,其余剩下的未填滿的行自動(dòng)逐次向下移動(dòng),當(dāng)方塊落下疊加到主界面的全部所有行時(shí),方塊不再下落,游戲結(jié)束,主界面提示“Game Over”字樣。,需求分析,之功能性需求,需求分析,之非功能性需求,俄羅斯方塊游戲系統(tǒng)的非功能性需求包括游戲主界面左上角圖標(biāo)顯示,調(diào)整窗口尺寸最大化最小化(但不包括主界面的尺寸大?。?,游戲運(yùn)行時(shí)彈出窗口的位置居中等一系列非功能性需求。,4,Chapter,程序系統(tǒng)設(shè)計(jì)簡(jiǎn)介,1運(yùn)行程序,點(diǎn)擊右側(cè)控制面板內(nèi)的“開(kāi)始”或“控制”菜單內(nèi)的“開(kāi)始”按鈕開(kāi)始游戲。 2使用上、下、左、右鍵和空格鍵,P鍵,C鍵控制方塊的變形、下落、向左和向右移動(dòng)和一鍵迅速下落,暫停,繼續(xù)。 3方塊滿行消除,分?jǐn)?shù)自動(dòng)增加,等級(jí)自動(dòng)增加一級(jí)。 4等級(jí)增加、方塊下落速度增加,按右側(cè)控制面板或“游戲”菜單內(nèi)的“初級(jí)”“中級(jí)”,“高級(jí)”按鈕來(lái)手動(dòng)改變游戲難易程度。也可點(diǎn)擊“方塊顏色”菜單內(nèi)的選項(xiàng),更改方塊顏色等,也可以通過(guò)“自定義”菜單內(nèi)的選項(xiàng),來(lái)更改游戲的一些屬性。 5按鍵盤(pán)鍵字母P鍵可以控制游戲暫停,然后按子母鍵C鍵可以控制游戲繼續(xù)上次游戲。按“結(jié)束游戲”按鈕,游戲會(huì)徹底停止正在進(jìn)行的當(dāng)局游戲,再按“開(kāi)始”或“控制”菜單內(nèi)的“重新開(kāi)始”會(huì)開(kāi)始新游戲。 6當(dāng)方塊占滿整個(gè)窗口,不能再有新方塊下落時(shí),游戲會(huì)彈出“Game Over”的對(duì)話框提示游戲結(jié)束。,手工處理業(yè)務(wù)的基本流程,游戲的功能模塊圖,游戲的基本流程圖,本系統(tǒng)基于游戲的各項(xiàng)功能來(lái)設(shè)計(jì)游戲的各個(gè)功能模塊。本游戲主要有兩大模塊:游戲界面區(qū),游戲控制區(qū)。,顯示玩家可選操作、顯示玩家操作結(jié)果兩個(gè)部分。,更改顏色、開(kāi)始、更改游戲等級(jí)為初級(jí)、更改游戲等級(jí)為中級(jí)、更改游戲等級(jí)為高級(jí)、自定義下落速度、更改背景、退出以及其他等一些功能模塊。,游戲界面區(qū),游戲控制區(qū),游戲的功能模塊,5,程序總體設(shè)計(jì)簡(jiǎn)介及測(cè)試運(yùn),Java是一種純面向?qū)ο螅∣bject-Oriented)的程序語(yǔ)言,具有很多優(yōu)點(diǎn)。本課程設(shè)計(jì)主要通過(guò)幾個(gè)模塊來(lái)實(shí)現(xiàn)各項(xiàng)功能。,功能模塊,方塊及數(shù)據(jù)顯示功能,方塊移動(dòng)控制模塊,游戲進(jìn)度模塊,音樂(lè)添加模塊,游戲等級(jí)控制模塊,游戲界面顏色控制模塊,游戲主界面顯示功能,等一系列模塊,主要功能實(shí)現(xiàn)的截圖,本游戲主界面設(shè)計(jì)的初始顏色搭配基于對(duì)比鮮明的原則,默認(rèn)背景色為深綠色,左上角設(shè)置俄羅斯方塊圖標(biāo),得分初始值為0,等級(jí)初始值為1,最高分記錄初始值為0。游戲主窗體尺寸設(shè)置為(520,580),方塊移動(dòng)范圍窗格由一個(gè)20行、12列的二維數(shù)組控制,且左上角圖標(biāo)設(shè)置為方塊圖案,起標(biāo)識(shí)作用。 public GameCanvas(int rows, int cols) this.rows = rows; this.cols = cols; this.setOpaque(false); boxes = new Boxrowscols; for (int i = 0; i boxes.length; i+) for (int j = 0; j boxesi.length; j+) boxesij = new Box(false); setBounds(0, 0, 300, 500);/設(shè)置相對(duì)位置坐標(biāo) setBorder(new EtchedBorder( EtchedBorder.RAISED, Color.white, new Color(148, 145, 140); ,主界面顯示模塊,方塊和數(shù)據(jù)信息是游戲中最基本的功能模塊。本游戲用二維數(shù)組存儲(chǔ)方塊的28種樣式。值得注意的是:在傳統(tǒng)的俄羅斯方塊游戲的基礎(chǔ)上,本游戲系統(tǒng)為了體現(xiàn)出創(chuàng)新的思維,本著為了學(xué)習(xí)的原則,在傳統(tǒng)游戲的基礎(chǔ)上增加了中級(jí)三種其他的方塊樣式和高級(jí)三種其他的方塊樣式。一共有52種方塊樣式,具體的存儲(chǔ)方式主要實(shí)現(xiàn)代碼如下: public final static int STYLES = / 共28種狀態(tài) 0xf000, 0x8888, 0xf000, 0x8888, / 長(zhǎng)條型的四種狀態(tài) 0x4e00, 0x4640, 0xe400, 0x4c40, / T型的四種狀態(tài) 0x4620, 0x6c00, 0x4620, 0x6c00, / 反Z型的四種狀態(tài) 0x2640, 0xc600, 0x2640, 0xc600, / Z型的四種狀態(tài) 0x6220, 0x1700, 0x2230, 0x7400, / 7型的四種狀態(tài) 0x6440, 0xe200, 0x44c0, 0x8e00, / 反7型的四種狀態(tài) 0x6600, 0x6600, 0x6600, 0x6600, / 方塊的四種狀態(tài) 0x8c88,0xf200,0x44c4,0x4f00,/增加的中級(jí)樣式方塊3個(gè) 0xea00,0xc4c0,0xae00,0xc8c0, 0x8c00,0xc800,0xc400,0x4c00, 0xac00,0xcc40,0x6e00,0x8cc0,/增加的高級(jí)樣式方塊3個(gè) 0x4e40,0x4e40,0x4e40,0x4e40, 0x8480,0xa400,0x4840,0x4a00, ;,方塊、數(shù)據(jù)信息模塊,“游戲”菜單測(cè)試,“幫助”菜單測(cè)試,方塊的堆砌與消行功能測(cè)試,按鍵事件的功能測(cè)試,利用設(shè)計(jì)的測(cè)試用例表,測(cè)試結(jié)果為成功,利用設(shè)計(jì)的測(cè)試用例表,測(cè)試結(jié)果為成功,利用設(shè)計(jì)的測(cè)試用例表,測(cè)試結(jié)果為成功,利用設(shè)計(jì)的測(cè)試用例表,測(cè)試結(jié)果為成功,系統(tǒng)測(cè)試,是將軟件,計(jì)算機(jī)硬件,外圍設(shè)備,網(wǎng)絡(luò)等元素確認(rèn)在一起進(jìn)行各種信息系統(tǒng)的組裝測(cè)試和確認(rèn)測(cè)試,系統(tǒng)測(cè)試是為整個(gè)產(chǎn)品系統(tǒng)進(jìn)行測(cè)試,目的是驗(yàn)證是否 系統(tǒng)滿足需求規(guī)格的定義,找出與需求規(guī)格不一致或矛盾的地方,以提出更全面的方案。系統(tǒng)測(cè)試發(fā)現(xiàn)問(wèn)題后,嘗試找出錯(cuò)誤的原因和位置,然后進(jìn)行更正。,系統(tǒng)測(cè)試,6,Chapter,論文總結(jié)與致謝,從本次課程設(shè)計(jì)論文編寫(xiě)我收獲的知識(shí),為了熟悉俄羅斯方塊的相關(guān)功能和設(shè)計(jì),我時(shí)常從各大游戲下載網(wǎng)站下載單機(jī)版俄羅斯方塊游戲,并研究其中功能的實(shí)現(xiàn)和界面的設(shè)計(jì),思考和查閱資料進(jìn)行分析,經(jīng)過(guò)逐步的設(shè)計(jì)與反復(fù)的修改論證,才完成了整個(gè)游戲的開(kāi)發(fā)。,在游戲設(shè)計(jì)過(guò)程中,我采用從粗到精的設(shè)計(jì)模式,從小到大測(cè)試的原則。先設(shè)計(jì)游戲框架,并逐層測(cè)試,而后再添加具體實(shí)現(xiàn)代碼并逐步進(jìn)行更細(xì)化的測(cè)試。設(shè)計(jì)過(guò)程中,經(jīng)常會(huì)遇到難題,我會(huì)通過(guò)反復(fù)思考和測(cè)試,然后找出自己的錯(cuò)誤并加以改正,再進(jìn)行下一個(gè)步驟,確保萬(wàn)無(wú)一失,盡力減輕最后的調(diào)試工作量。,畢業(yè)設(shè)計(jì)業(yè)可以作為一個(gè)不斷學(xué)習(xí)新鮮事物的過(guò)程,從設(shè)計(jì)初的不懂到最后能夠圓滿完成,我體會(huì)到在實(shí)踐中不斷學(xué)習(xí)的重要性,這對(duì)于將來(lái)我走上
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國(guó)多折紙巾行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 現(xiàn)代漢語(yǔ)“幾乎”“險(xiǎn)些”“差點(diǎn)兒”的羨余否定現(xiàn)象研究
- 食品原材料采購(gòu)合同書(shū)
- 環(huán)境監(jiān)測(cè)職業(yè)健康安全應(yīng)對(duì)措施
- 青藍(lán)工程與心理健康教育的心得體會(huì)
- 商業(yè)建筑外墻裂縫原因及補(bǔ)救措施
- 宮外孕搶救護(hù)理
- 北師大版二年級(jí)數(shù)學(xué)上冊(cè)教學(xué)計(jì)劃的實(shí)踐案例
- 2025年座椅書(shū)報(bào)網(wǎng)項(xiàng)目市場(chǎng)調(diào)查研究報(bào)告
- 開(kāi)幕致辭及企業(yè)展望演講文本
- 《高氮馬氏體不銹鋼》
- 管道注水法試驗(yàn)記錄
- 2023年湖北省技能高考文化綜合試題及答案
- 無(wú)機(jī)化學(xué)說(shuō)課精講課件
- 靜脈輸液外滲的預(yù)防與處理完整版課件
- 民用無(wú)人駕駛航空器系統(tǒng)駕駛員訓(xùn)練大綱
- 裝修客戶需求表
- 大樹(shù)遮陽(yáng)腳手架搭設(shè)方案
- 外源水楊酸對(duì)高溫脅迫下甘藍(lán)幼苗生長(zhǎng)及生理特性的影響-第1篇
- 模具材料及表面處理全優(yōu)秀課件
- 人教版八年級(jí)下冊(cè)英語(yǔ)全冊(cè)單詞表學(xué)生默寫(xiě)版直接打印
評(píng)論
0/150
提交評(píng)論