資源描述:
《Java拼圖游戲課程設(shè)計(jì)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Java應(yīng)用技術(shù)實(shí)訓(xùn)報(bào)告題目多功能拼圖游戲軟件起訖日期所在院系 學(xué)生姓名專業(yè)班級(jí)學(xué)號(hào)指導(dǎo)教師職稱所在單位2008年月日一.總體設(shè)計(jì)本系統(tǒng)共包括11個(gè)java源文件和2文件。這是個(gè)功能比較齊全的拼圖游戲,最關(guān)鍵的不用自己手動(dòng)切割圖片,再進(jìn)行加載。而是應(yīng)用類方法在內(nèi)存中進(jìn)行圖片切割和加載,方便了用戶的使用。另外,該程序會(huì)根據(jù)圖片的大小自動(dòng)生成窗口大小,不會(huì)造成切割圖片錯(cuò)誤和切割錯(cuò)位。程序最后以*.rc格式的文件來保存游戲記錄。1.類之間的關(guān)系如圖1所示。MenuFrameCardFramePuzzleShowImageGameOverSplitMatri
2、xpointGradesButtonClick2.java源文件及其功能如表1所示。-14-表1序號(hào)文件名主要功能備注1Puzzle.java程序的主類,定義了各個(gè)組件的動(dòng)作和為窗口設(shè)置圖標(biāo)包含主函數(shù)程序的入口2CardFrame.java游戲介紹界面添加繼續(xù)按鈕采用卡片布局3MenuFrame.java初始化游戲界面,創(chuàng)建并添加組件聲明了6個(gè)靜態(tài)方法4ShowImage.java在游戲中顯示完整圖片來提供幫助5Split.java根據(jù)難度等級(jí)切割完整圖片為拼圖塊圖塊保存在內(nèi)存中6Matrix.java加載打亂的圖塊進(jìn)行初始化游戲7Grades.jav
3、a游戲記錄和存檔,游戲暫停的實(shí)現(xiàn)存檔文件格式為**.rc8GameOver.java游戲時(shí)間和步數(shù)的計(jì)算和游戲結(jié)束的判斷9point.java獲得拼圖的行數(shù)和列數(shù),并向其他函數(shù)傳參。10ButtonClick.java實(shí)現(xiàn)鼠標(biāo)動(dòng)作。11Arg.java提供圖片路徑和成績(jī)記錄的路徑公用接口二、詳細(xì)設(shè)計(jì)該拼圖游戲結(jié)合了許多元素,可以圖片切割,游戲拼圖,游戲成功時(shí)和打破記錄時(shí)的判斷,同時(shí)還有游戲時(shí)間和步數(shù)的記錄,并以文檔形式進(jìn)行保存。在拼圖時(shí)首先把圖片添加到background目錄下,程序會(huì)自動(dòng)獲取該目錄下的所有文件,并加載到游戲中,進(jìn)行切割后,顯示在拼圖按
4、鈕上。在游戲開始后會(huì)更新“開始“菜單,增加“顯示圖片”菜單項(xiàng)。拼圖結(jié)束時(shí)可以顯示游戲成績(jī)和記錄的存檔。1.主類Puzzle(1)成員變量見表2表2成員變量描述變量類型名稱開始狀態(tài)BooleanStart-14-窗口寬度intfWidth窗口高度intfHeight結(jié)束對(duì)象gOverGameOver焦點(diǎn)控制booleanindex(2)方法見表2-1表2-1方法名功能備注Puzzle()創(chuàng)建游戲窗口和設(shè)置圖標(biāo)StartGame()開始游戲控制,更新開始菜單endgame()結(jié)束游戲控制彈出結(jié)束窗口FrameLoseFocus()使窗口失去焦點(diǎn)事件Fram
5、eGetFocus()使窗口得到焦點(diǎn)事件menuNewClick()進(jìn)行切割圖片調(diào)用類spite()menuGradesClick()實(shí)現(xiàn)分?jǐn)?shù)記錄和顯示調(diào)用類ClassGradesmenuShowClik()在游戲中顯示完整圖片調(diào)用類classShowImagemenuExit()退出游戲menuHelpClik()實(shí)現(xiàn)幫助功能以彈出式對(duì)話框設(shè)計(jì)menuAboutClik()實(shí)現(xiàn)關(guān)于功能介紹了相關(guān)信息和作者(3)源代碼見文件Puzzle.java2.類CardFrame(1)成員變量見表3表3成員變量描述變量類型名稱布局格式變量CardLayoutca
6、rd-14-容器變量Containercon面板數(shù)組JpanelPanel[](2)方法見表3-1表3-1方法名功能備注CardFrame()創(chuàng)建窗口,布局游戲介紹添加了焦點(diǎn)事件適配器nextCard()轉(zhuǎn)到一下張卡片采用卡片布局(3)源代碼見文件CardFrame.java3.類MenuFrame(1)成員變量見表4表4成員變量描述變量類型名稱難度等級(jí)變量inttype文件路徑Stringfilename難度按鈕組ButtonGroupbgrp圖片選擇按鈕組ButtonGroupfrp菜單更新控制Booleanupdate菜單項(xiàng)數(shù)組JMenuMm[]
7、m[](2)方法見表4-1表4-1方法名功能備注MenuFrame()創(chuàng)建窗口添加了焦點(diǎn)事件適配器addMenu()向菜單欄中添加菜單以數(shù)組形式添加多個(gè)菜單menuLevelClick()實(shí)現(xiàn)等級(jí)選擇menuBackgroundClik()實(shí)現(xiàn)背景圖片的選擇-14-getType()返回一個(gè)難度等級(jí)getFilename()獲取圖片的名字initMenuBegin()初始化開始按鈕并設(shè)置快捷鍵同時(shí)給出了選擇菜單后的相應(yīng)動(dòng)作initMenuBackground()初始化背景菜單initMenuAbout()初始化關(guān)于菜單initMenuOpition()
8、初始化選擇菜單initMenuLevel()初始化等級(jí)菜單以選擇框形式選擇等級(jí)updadeMe