基于Java的俄羅斯方塊游戲的設計與實現(xiàn)_第1頁
基于Java的俄羅斯方塊游戲的設計與實現(xiàn)_第2頁
基于Java的俄羅斯方塊游戲的設計與實現(xiàn)_第3頁
基于Java的俄羅斯方塊游戲的設計與實現(xiàn)_第4頁
基于Java的俄羅斯方塊游戲的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Based on the design and implementation of Java game Tetris,基于Java的俄羅斯方塊游戲的設計與實現(xiàn),LOGO,畢業(yè)論文答辯,01,02,目 錄,03,04,05,06,研究方法及相關技術(shù),程序需求分析簡介,課題綜述與研究背景、意義,程序系統(tǒng)設計簡介,程序總體設計簡介及測試運行,論文總結(jié)與致謝,1,課題綜述與研究背景、意義,俄羅斯方塊游戲是一款風靡全球,經(jīng)久不衰的游戲產(chǎn)品。它曾經(jīng)創(chuàng)造了無可匹敵的商業(yè)價值,影響了一代游戲業(yè)的發(fā)展史,推動了信息時代科技時代的不斷發(fā)展。,隨著計算機技術(shù)的日漸更新與不斷迅速的發(fā)展,俄羅斯方塊游戲也從原來的掌機,電視游戲機發(fā)展處pc端,智能手機游戲等各種各樣的模式。俄羅斯方塊游戲的影響力毋庸置疑。俄羅斯方塊游戲界面簡單,代碼、算法實現(xiàn)并不復雜,是一款作為初學者熟悉知識,鍛煉編程技巧的良好的游戲系統(tǒng)。,游戲研究背景,程序開發(fā)意義,俄羅斯方塊游戲是一款簡單、益智但又不缺乏樂趣的休閑小游戲,在日益繁忙,生活節(jié)奏越來越快的現(xiàn)代生活中,為壓力巨大的人們提供了一款既節(jié)省時間又有趣的小游戲。并且俄羅斯方塊游戲開發(fā)簡單,實現(xiàn)并不復雜,是編程新手很好的練習素材。本次課題研究,不僅在開發(fā)技術(shù)上,還是社會意義上都具有很大的價值。,首先,俄羅斯方塊首先作為一種教育用軟件,在授權(quán)給各大公司之后,各大平臺上就陸續(xù)出現(xiàn)了無數(shù)的各種各樣版本的俄羅斯方塊游戲。在海灣戰(zhàn)爭期間,美國前線的美國士兵都將這款游戲作為消磨時光的最佳選擇之一。其次,俄羅斯方塊游戲具有簡單性,數(shù)學性,動態(tài)性和極大的知名度,程序員經(jīng)常作為設計與練習的題材。讓俄羅斯方塊游戲的研究變得越來越火。,俄羅斯方塊游戲研究現(xiàn)狀,2,Chapter,研究方法與技術(shù),Java在發(fā)展的近20年間,已發(fā)展成為人類計算機歷史上最有影響力的編程語言之一,甚至其超出了編程語言的范疇,成為了一種開發(fā)規(guī)范模式。本課程設計主要用Java編程語言,在Eclipse平臺上實現(xiàn)。,Java語言是一門非常純粹它吸引了C語言和C+語言的各種優(yōu)點,又摒棄了C+語言里難以理解的多繼承,指針等概念,因此Java語言具有功能強大和簡單易用兩個非常良好的特征的面向?qū)ο蟮木幊陶Z言。,Java,Eclipse,Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。Eclipse只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。,組 件,簡介,S W I N G,Swing API 是一組可擴展的 GUI 組件,用來創(chuàng)建基于 JAVA 的前端/ GUI 應用程序。它是建立在 AWT API 之上,并且作為 AWT API 的替代者,因為它的幾乎每一個控件都對應 AWT 控件。 Swing 組件遵循模型 - 視圖 - 控制器架構(gòu)來滿足下面的準則。一個單一的 API 足夠支持多種外觀和風格;API 是模擬驅(qū)動的,這樣最高層級的 API 不需要有數(shù)據(jù);API 是使用 Java Bean 模式的,這樣 Builder Tools 和 IDE 可以為開發(fā)者提供更好的服務來使用它。 Swing特點主要有:輕量級、豐富的控件、高級自定義、可插拔的外觀和風格。,3,Chapter,程序需求分析簡介,系統(tǒng)的需求分析,主要是用來說明本系統(tǒng)是一個什么系統(tǒng),必須用來做什么,就這個問題上達到開發(fā)人員和主要用戶之間的共識。系統(tǒng)的可行性分析,主要就是對系統(tǒng)的所有的一切資源實施進行分析,用來說明系統(tǒng)的開發(fā)和投入的合理性,可行性和必然性,并對其中可能會出現(xiàn)的不可預見性的問題進行合理的分析。,本游戲系統(tǒng)主要是用于大學生軟件工程畢業(yè)課程設計,不需要考慮其所能產(chǎn)生的經(jīng)濟效益和游戲日后的發(fā)展狀態(tài)。所以經(jīng)濟問題可不用考慮。,經(jīng)濟可行性分析,本系統(tǒng)主要利用的是Java中的Swing組件進行開發(fā),技術(shù)方面要求并非特別困難,技術(shù)可行。,技術(shù)可行性分析,本游戲系統(tǒng)的開發(fā)主要是用于畢業(yè)課程設計與論文,用以鞏固大學四年學習的知識,主要以個人和學校為單位,僅供個人娛樂和學校的課程設計與畢業(yè)論文檢查入檔案。,社會可行性分析,可行性分析,界面需求,形狀需求,鍵盤,鼠標,顯示需求,本游戲的默認背景色是深綠色,游戲主界面畫面自定義為自己的所喜歡的圖片,并可以更改,主界面方塊默認用橘黃色,預顯方塊顏色默認為淡紫色。背景色、前景色對比鮮明,以達到讓玩家眼前一亮的感覺。,鍵盤、鼠標處理事件需求,當方塊下落時,玩家可以通過鍵盤上的方向鍵標,可以點擊控制面板中的菜單按鈕和幫助按鈕。,用數(shù)組作為存儲方塊52種狀態(tài)的數(shù)據(jù)結(jié)構(gòu),即初級等級長條形、Z字形、反Z形、田字形、7字形、反7形、T字型一共7種形狀的向4個方向的旋轉(zhuǎn)變形,和中級等級的三種方塊12種不同的狀態(tài),高級等級的三種方塊12種不同的狀態(tài)。,要求當方塊落下后填滿一整行,則該行消除,其余剩下的未填滿的行自動逐次向下移動,當方塊落下疊加到主界面的全部所有行時,方塊不再下落,游戲結(jié)束,主界面提示“Game Over”字樣。,需求分析,之功能性需求,需求分析,之非功能性需求,俄羅斯方塊游戲系統(tǒng)的非功能性需求包括游戲主界面左上角圖標顯示,調(diào)整窗口尺寸最大化最小化(但不包括主界面的尺寸大?。?,游戲運行時彈出窗口的位置居中等一系列非功能性需求。,4,Chapter,程序系統(tǒng)設計簡介,1運行程序,點擊右側(cè)控制面板內(nèi)的“開始”或“控制”菜單內(nèi)的“開始”按鈕開始游戲。 2使用上、下、左、右鍵和空格鍵,P鍵,C鍵控制方塊的變形、下落、向左和向右移動和一鍵迅速下落,暫停,繼續(xù)。 3方塊滿行消除,分數(shù)自動增加,等級自動增加一級。 4等級增加、方塊下落速度增加,按右側(cè)控制面板或“游戲”菜單內(nèi)的“初級”“中級”,“高級”按鈕來手動改變游戲難易程度。也可點擊“方塊顏色”菜單內(nèi)的選項,更改方塊顏色等,也可以通過“自定義”菜單內(nèi)的選項,來更改游戲的一些屬性。 5按鍵盤鍵字母P鍵可以控制游戲暫停,然后按子母鍵C鍵可以控制游戲繼續(xù)上次游戲。按“結(jié)束游戲”按鈕,游戲會徹底停止正在進行的當局游戲,再按“開始”或“控制”菜單內(nèi)的“重新開始”會開始新游戲。 6當方塊占滿整個窗口,不能再有新方塊下落時,游戲會彈出“Game Over”的對話框提示游戲結(jié)束。,手工處理業(yè)務的基本流程,游戲的功能模塊圖,游戲的基本流程圖,本系統(tǒng)基于游戲的各項功能來設計游戲的各個功能模塊。本游戲主要有兩大模塊:游戲界面區(qū),游戲控制區(qū)。,顯示玩家可選操作、顯示玩家操作結(jié)果兩個部分。,更改顏色、開始、更改游戲等級為初級、更改游戲等級為中級、更改游戲等級為高級、自定義下落速度、更改背景、退出以及其他等一些功能模塊。,游戲界面區(qū),游戲控制區(qū),游戲的功能模塊,5,程序總體設計簡介及測試運,Java是一種純面向?qū)ο螅∣bject-Oriented)的程序語言,具有很多優(yōu)點。本課程設計主要通過幾個模塊來實現(xiàn)各項功能。,功能模塊,方塊及數(shù)據(jù)顯示功能,方塊移動控制模塊,游戲進度模塊,音樂添加模塊,游戲等級控制模塊,游戲界面顏色控制模塊,游戲主界面顯示功能,等一系列模塊,主要功能實現(xiàn)的截圖,本游戲主界面設計的初始顏色搭配基于對比鮮明的原則,默認背景色為深綠色,左上角設置俄羅斯方塊圖標,得分初始值為0,等級初始值為1,最高分記錄初始值為0。游戲主窗體尺寸設置為(520,580),方塊移動范圍窗格由一個20行、12列的二維數(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);/設置相對位置坐標 setBorder(new EtchedBorder( EtchedBorder.RAISED, Color.white, new Color(148, 145, 140); ,主界面顯示模塊,方塊和數(shù)據(jù)信息是游戲中最基本的功能模塊。本游戲用二維數(shù)組存儲方塊的28種樣式。值得注意的是:在傳統(tǒng)的俄羅斯方塊游戲的基礎上,本游戲系統(tǒng)為了體現(xiàn)出創(chuàng)新的思維,本著為了學習的原則,在傳統(tǒng)游戲的基礎上增加了中級三種其他的方塊樣式和高級三種其他的方塊樣式。一共有52種方塊樣式,具體的存儲方式主要實現(xiàn)代碼如下: public final static int STYLES = / 共28種狀態(tài) 0xf000, 0x8888, 0xf000, 0x8888, / 長條型的四種狀態(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,/增加的中級樣式方塊3個 0xea00,0xc4c0,0xae00,0xc8c0, 0x8c00,0xc800,0xc400,0x4c00, 0xac00,0xcc40,0x6e00,0x8cc0,/增加的高級樣式方塊3個 0x4e40,0x4e40,0x4e40,0x4e40, 0x8480,0xa400,0x4840,0x4a00, ;,方塊、數(shù)據(jù)信息模塊,“游戲”菜單測試,“幫助”菜單測試,方塊的堆砌與消行功能測試,按鍵事件的功能測試,利用設計的測試用例表,測試結(jié)果為成功,利用設計的測試用例表,測試結(jié)果為成功,利用設計的測試用例表,測試結(jié)果為成功,利用設計的測試用例表,測試結(jié)果為成功,系統(tǒng)測試,是將軟件,計算機硬件,外圍設備,網(wǎng)絡等元素確認在一起進行各種信息系統(tǒng)的組裝測試和確認測試,系統(tǒng)測試是為整個產(chǎn)品系統(tǒng)進行測試,目的是驗證是否 系統(tǒng)滿足需求規(guī)格的定義,找出與需求規(guī)格不一致或矛盾的地方,以提出更全面的方案。系統(tǒng)測試發(fā)現(xiàn)問題后,嘗試找出錯誤的原因和位置,然后進行更正。,系統(tǒng)測試,6,Chapter,論文總結(jié)與致謝,從本次課程設計論文編寫我收獲的知識,為了熟悉俄羅斯方塊的相關功能和設計,我時常從各大游戲下載網(wǎng)站下載單機版俄羅斯方塊游戲,并研究其中功能的實現(xiàn)和界面的設計,思考和查閱資料進行分析,經(jīng)過逐步的設計與反復的修改論證,才完成了整個游戲的開發(fā)。,在游戲設計過程中,我采用從粗到精的設計模式,從小到大測試的原則。先設計游戲框架,并逐層測試,而后再添加具體實現(xiàn)代碼并逐步進行更細化的測試。設計過程中,經(jīng)常會遇到難題,我會通過反復思考和測試,然后找出自己的錯誤并加以改正,再進行下一個步驟,確保萬無一失,盡力減輕最后的調(diào)試工作量。,畢業(yè)設計業(yè)可以作為一個不斷學習新鮮事物的過程,從設計初的不懂到最后能夠圓滿完成,我體會到在實踐中不斷學習的重要性,這對于將來我走上

溫馨提示

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

評論

0/150

提交評論