Java游戏实验报告_java俄罗斯方块游戏实验报告.doc
java俄羅斯方塊游戲實驗報告.doc
第1頁共8頁嘉應學院計算機學院實驗報告課程名稱JAVA課程設計開課學期20112012年第一學期班級093指導老師項目題目俄羅斯方塊學生姓名學號提交時間20111113第2頁共8頁一、概述了解開始使用JIGLOO并進而使用其高級功能(例如可視化繼承)使用XML、XMLSCHEMA和JAXB熟悉事件處理程序和數據綁定的UI編程概念了解AWT/SWING或SWT3圖形用戶界面設計;4AWT組件庫。教師提出的要求在實現程序應該有的功能至上再擴充一些功能。3課程設計的主要設計思想俄羅斯方塊應有如下功能1、在二維的平面里用各種隨即產生的方塊堆積木,每填滿一行消去一行,當到達頂部時,游戲結束。2、玩家能通過方向鍵來控制方塊的轉動,左移,右移和直落。3、每種類型的方塊都有顏色。游戲有預覽的功能,能告訴玩家下一個將出現什么類型的方塊。4、游戲能夠在玩的過程中,給出玩家的分數,分數是由隨即方塊的類型決定的,每堆一個方塊,就將分數累加到總分中。5、游戲有暫停、開始和結束、游戲規則、游戲說明等控制。二、類模塊設計通過對功能要求的分析,將俄羅斯方塊游戲的功能劃分為2個類模塊,它們是TETRIS類該類包含MAIN方法,應為應用程序的主類。該類用來創建游戲的用戶界面,整個程序從該類的MAIN方法開始執行。TETRISBLOK類用來設計游戲界面。游戲界面顯示在由TETRISBLOK類創建的整個用戶界面的中(CENTER)區,游戲的即時分數、堆積木的二維平面即時效果圖及方塊的預覽功能都在整個類里面實現。用來封裝俄羅斯小方塊。一個方塊的屬性是由方塊1位置即X和Y的坐標、顏色決定的。三、詳細設計1、TETRIS類的設計第3頁共8頁TETRIS類中包含MAIN方法,為主類。在主類中創建了JFRAME窗口類的一個實例,設計如下成員變量變量名稱變量屬性說明GAMEMENUJMENU主菜單項“游戲(G)NEWITEMJMENUITEM子菜單項“新游戲(N)”PAUSEITEMJMENUITEM子菜單項“暫停(P)”CONTITEMJMENUITEM子菜單項“繼續(C)”EXITITEMJMENUITEM子菜單項“退出(E)”HELPMENUJMENU主菜單項“幫助(H)”ABOUTITEMJMENUITEM子菜單項“游戲簡介(I)”WRITEITEMJMENUITEM子菜單項“游戲簡介(R)”成員方法方法名稱方法功能說明無無無2、TETRISBLOK類的設計TETRISBLOK類用來設計游戲的用戶界面。在該界面上有用戶玩游戲的功能菜單、游戲界面及游戲的狀態欄。設計如下成員變量變量名稱變量屬性說明BLOCKTYPE代表方塊類型SCORE分數TURNSTATE代表方塊狀態第4頁共8頁X方塊起始位置的橫坐標Y方塊起始位置的縱坐標NEXTB下一個方塊類型NEXTT下一個方塊的形狀成員方法方法名稱方法功能備注VOIDNEWBLOCK生成新方塊的方法BOOLEANGAMEOVERINTX,INTY判斷游戲結束的方法接口方法BOOLEANBLOWINTX,INTY,INTBLOCKTYPE,INTTURNSTATE是否合法的方法VOIDNEWMAP初始化地圖VOIDDRAWWALL畫圍墻VOIDTURN旋轉的方法VOIDLEFT左移的方法VOIDRIGHT右移的方法VOIDDOWN下落的方法VOIDDELLINE消行的方法VOIDADDINTX,INTY,INTBLOCKTYPE,INTTURNSTATE把當前添加MAPVOIDPAINTCOMPONENTGRAPHICSG畫方塊的的方法VOIDKEYPRESSEDKEYEVENTE鍵盤監聽VOIDACTIONPEREDACTIONEVENTE定時器監聽接口方法四、程序流程圖開始第5頁共8頁是否否是是否否是五、程序的調試與運行結果說明1游戲界面如圖1顯示界面按下結束按下開始開始游戲輸入指令根據指令調用不同的函數進行操作按下結束GAMEOVER結束第6頁共8頁圖1游戲界面2游戲的菜單項如圖2圖7圖2新游戲功能的實現圖3暫停功能的實現第7頁共8頁圖4繼續功能的實現圖5退出功能的實現圖6游戲簡介第8頁共8頁圖7游戲規則六、課程設計總結經過對程序反復地調試及不斷完善,基本能實現俄羅斯方塊的基本游戲規則,如方塊組的生成,預覽,消行,變形分數的存檔等功能。玩家可以通過鍵盤的方向鍵來控制游戲的轉動、左移、右移和下落。游戲功能達到預設功能要求。通過對該游戲的設計,我們對JAVA程序設計知識有了更進一步的認識;并且通過上機實踐提高了我們的動手能力。
總結
以上是生活随笔為你收集整理的Java游戏实验报告_java俄罗斯方块游戏实验报告.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转)sqlite developer注
- 下一篇: 【JavaSE8 高级编程 多线程】多线