資源描述:
《java課程設(shè)計(jì)報(bào)告--hannoi塔》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、課程設(shè)計(jì)報(bào)告課程名稱Java程序設(shè)計(jì)課題名稱Hannoi塔專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)學(xué)號(hào)姓名指導(dǎo)教師李遠(yuǎn)輝2013年6月27日湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書課程名稱Java程序設(shè)計(jì)課題Hannoi塔專業(yè)班級(jí)學(xué)生姓名學(xué)號(hào)指導(dǎo)老師李遠(yuǎn)輝審批李遠(yuǎn)輝任務(wù)書下達(dá)日期2013年6月20日任務(wù)完成日期2013年6月27日目錄1.設(shè)計(jì)要求……………………………………………………………11.1界面要求…………………………………………………………11.2功能要求…………………………………………………………12.總體設(shè)計(jì)…………………………………………………………22.1總體概述…………
2、………………………………………………22.2主要類功能設(shè)計(jì)…………………………………………………33.詳細(xì)設(shè)計(jì)……………………………………………………………53.1HannoiWindow類………………………………………………53.2Tower類…………………………………………………………53.3HandleMouse類…………………………………………………63.4AutoMoveDisc類…………………………………………………73.5TimeCount類……………………………………………………84.調(diào)試與結(jié)果分析……………………………………………………94.
3、1初級(jí)游戲…………………………………………………………94.2游戲界面屬性設(shè)置………………………………………………104.3游戲外觀設(shè)置……………………………………………………104.4自動(dòng)移動(dòng)演示……………………………………………………105.設(shè)計(jì)總結(jié)與心得體會(huì)………………………………………………12附錄……………………………………………………………………131參考書………………………………………………………………132源代碼………………………………………………………………131設(shè)計(jì)要求1.1界面要求用戶界面為GUI界面,其分為菜單欄以及游戲區(qū)兩個(gè)部分。游戲
4、區(qū)中分布有三座Hannoi塔,其名字分別為A、B、C。初始狀態(tài)下A座有三個(gè)大小不等的盤子,其按照從大到小的順序依次擺放在A座上。1.2功能要求1.2.1游戲規(guī)則用戶用鼠標(biāo)選中盤子,然后通過(guò)拖動(dòng)鼠標(biāo)來(lái)移動(dòng)盤子、釋放鼠標(biāo)來(lái)放置該盤子。其中主要的規(guī)則就是:(1)移動(dòng)盤子時(shí),盤子上方必須無(wú)盤子(2)放置盤子時(shí),其位置必須在塔點(diǎn)處,而且盤子必須比下方盤子小(3)游戲結(jié)束的條件是:所有的盤子均從A座移到B或C座1.2.2游戲設(shè)置功能用戶可以通過(guò)游戲-》選項(xiàng)來(lái)設(shè)置游戲的一些基本的屬性,如是否播放音樂(lè)、難度、盤子大小等等1.2.3游戲幫助功能用戶可以通過(guò)菜單欄中的幫助能過(guò)初步
5、了解游戲的相關(guān)信息,以及如何操作。其中必須實(shí)現(xiàn)游戲的自動(dòng)完成功能以指導(dǎo)用戶如何操作。1.2.4游戲外觀設(shè)置功能用戶可以通過(guò)游戲-》外觀可以設(shè)置游戲的背景顏色以及盤子的顏色402總體設(shè)計(jì)2.1總體概述在設(shè)計(jì)Hannoi塔時(shí),需要編寫9個(gè)Java源文件:AutoMoveDisc.java、Disc.java、GameMusic.java、GameSettingS.java、HandleMouse.java、HannoiWindow.java、TimeCount.java、Tower.java、TowerPoint.java。Hannoi塔除了要編寫的10個(gè)Java
6、源文件所給出的類外,還需要Java系統(tǒng)提供的一些重要的類,如JMenuBar、JMenu、JMenuItem和JButton。Hannnoi塔所用的一些重要的類以及之間的組合關(guān)系如圖2.1所示:HannoiWindowTowerJMenuItemJMenuBarGameSettingSJMenuGameMusicAutoMoveDiscHandleMouseDiscTowerPointTimeCount圖2.1類之間的組合關(guān)系402.2主要類功能設(shè)計(jì)2.2.1HannoiWindow.javaHannoiWindows類主要負(fù)責(zé)創(chuàng)建Hannoi塔的主窗口,該類
7、包含main()方法,Hannoi塔從此類開(kāi)始執(zhí)行。HannoiWindows類的成員變量有五種重要類型對(duì)象以及一個(gè)char型數(shù)組。五種重要類型對(duì)象為:Tower、JMenuBar、JMenu、JMenuItem和GameSettings對(duì)象。其效果圖2.2如下:圖2.2主界面2.2.2Tower.javaTower.java類是javax.swing.JPanel的子類,創(chuàng)建的容器被添HannoiWindow窗體的中心。Tower類主要的功能是設(shè)置游戲區(qū)的所有組件的位置等相關(guān)信息以及注冊(cè)其中的監(jiān)聽(tīng)器。402.2.3HandleMouse.javaHandle
8、Mouse類主要負(fù)責(zé)的是鼠標(biāo)移動(dòng)游戲區(qū)