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