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