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