資源描述:
《Hannoi塔(漢諾塔)--Java課程設(shè)計報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、大連交通大學(xué)JAVA技術(shù)實訓(xùn)報告Java課程設(shè)計報告題目漢諾塔所在院系 軟件學(xué)院 學(xué)生姓名鄧小文專業(yè)土木+軟件工程班級08-1班學(xué)號14號2010年7月17日-16-大連交通大學(xué)JAVA技術(shù)實訓(xùn)報告一、總體設(shè)計1.本系統(tǒng)的主要功能(1)本軟件是漢諾塔游戲;(2)可以實現(xiàn)計時功能;(3)游戲結(jié)束時記錄排名;(4)在玩游戲的同時還可以欣賞歌曲;(5)不知如何玩時可以實現(xiàn)自動演示;2.系統(tǒng)包含的類及類之間的關(guān)系為了實現(xiàn)本軟件的各項功能,對要在本軟件中需要用到的源文件進行總體設(shè)計。本系統(tǒng)共包括12個java源文件。1.各個類之間的關(guān)系如圖1所示。HelpTowerHannoiTower
2、MusicDiskTowerPointTimeRecordShowRecordPeople圖1-1各個類之間的關(guān)系2.java源文件及其功能,如表所示。表1java源文件及其功能-16-大連交通大學(xué)JAVA技術(shù)實訓(xùn)報告序號文件名主要功能備注1Tower用戶可以在主窗口選擇開始搬運盤子或自動演示。程序默認(rèn)的情況是手動搬運盤子2HannoiTower該文件生成的類負(fù)責(zé)創(chuàng)建Hannoi塔,漢諾塔由A、B、C三個塔組成,可以用鼠標(biāo)搬運各個塔上的盤子。3Disk該文件生成的類負(fù)責(zé)創(chuàng)建盤子對象4TowerPoint該文件生成的類負(fù)責(zé)為Hannoi塔創(chuàng)建塔點對象,即盤子放置的位置。5Time記
3、錄玩家完成游戲所需的時間6People記錄成績能夠排進排行榜的選手7About關(guān)與本軟件的制作信息8Help幫助主題9Record記錄10Music該文件負(fù)責(zé)生成一款播放器,可以選取玩家自己喜歡的歌曲欣賞。播放的歌曲需要是“wav”等形式的。11ShowRecord該文件用來實現(xiàn)玩家看英雄榜的情況。二、詳細(xì)設(shè)計為了實現(xiàn)總體設(shè)計中的各個類之間的接口連接,使玩家能夠順暢的使用本軟件進行游戲,考慮用詳細(xì)設(shè)計來給玩家一一介紹。以下是對本軟件的詳細(xì)設(shè)計:-16-大連交通大學(xué)JAVA技術(shù)實訓(xùn)報告1.主類Tower(1)該類用到的主要成員變量見表5表5類Tower主要成員變量成員變量描述變量類
4、型名稱漢諾塔對象HannoiTowertower塔名數(shù)組Char[]TowerName盤子數(shù)目int盤子數(shù)目pfloat盤子從上到下縮小的比例盤子大小Int盤寬,盤高自動演示線程ThreadThreadfile初級,file高級File初級高級排行榜記錄file1,file2File規(guī)則幫助文本自動演示文字顯示搬運過程TextArea信息條背景音樂Musicmusic菜單條JMenuBarbar菜單JMenufileMenu1,fileMenu2,fileMenu3菜單項JMenuItem開始游戲,重新開始,自動演示,英雄榜,退出,背景音樂,幫助主題,關(guān)于漢諾塔;顯示時間JTex
5、tField顯示時間(2)方法見表6表6類Tower主要方法名稱功能備注Tower創(chuàng)建窗口構(gòu)造方法-16-大連交通大學(xué)JAVA技術(shù)實訓(xùn)報告run線程方法actionPerformed處理ActionEvent事件接口方法(3)源代碼見文件Tower.java2.類HannoiTower(1)該類用到的主要成員變量見表7表7類HannoiTower主要成員變量成員變量描述變量類型變量名位置intX,Ypfloat盤子從上到下縮小的比例搬運坐標(biāo)intShartx,Starty,Starti盤子數(shù)目int盤子數(shù)目塔名charTowername[]時間intspendtime塔點Towe
6、rPointpoint[]移動狀態(tài)booleanmove盤子Disk盤子[]顯示移動信息TextArea信息條用來計時Time計時計時器是否啟動boolean計時器是否啟動(2)方法見表8表8類HannoiTower主要方法名稱功能-16-大連交通大學(xué)JAVA技術(shù)實訓(xùn)報告paintComponent繪制主要組件mousePressed處理鼠標(biāo)托盤子事件mouseMoved處理鼠標(biāo)移動事件mouseDragged處理鼠標(biāo)拖動事件mouseReleased處理鼠標(biāo)釋放事件mouseEntered處理鼠標(biāo)進入容器事件mouseExited處理鼠標(biāo)離開事件mouseClicked處理單擊
7、鼠標(biāo)事件actionPerformed處理ActionEvent事件自動演示搬盤子自動演示搬盤子在塔中獲取最上面盤子在塔中獲取最上面盤子在塔中獲取最上面盤子的上方位置在塔中獲取最上面盤子的上方位置在塔中獲取最上面盤子的位置在塔中獲取最上面盤子的位置(3)源代碼見文件HannoiTower.java3.類TowerPoint(1)該類用到的主要成員變量見表9表9類TowerPoint主要成員變量成員變量描述變量類型變量名位置IntX,Y查看是否有盤子boolean有盤子創(chuàng)建盤子Di