

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、漢諾塔程序設(shè)計(jì)漢諾塔程序設(shè)計(jì)一、總功能概述(1)設(shè)計(jì)Hannoi塔中有三個(gè)座,名字為A、B和C。初始狀態(tài)是A座上有3個(gè)大小不等的盤子,這些盤子從座底到座頂按著大小順序依次擺放在A座上。用戶可以用鼠標(biāo)來移動(dòng)盤子、釋放鼠標(biāo)來放置該盤子;(2)程序要求用戶在移動(dòng)盤子過程中,不允許把大盤子放置在小盤子的上面,用戶最終要完成的是把A座上的全部盤子移動(dòng)到B座或C座上;(3)用戶可以通過Hannoi塔界面提供的菜單來選擇初級(jí)、中級(jí)、高級(jí)和自定義四個(gè)級(jí)
2、別。初級(jí)級(jí)別A座上有3個(gè)大小不等盤子、中級(jí)級(jí)別A座上有四個(gè)大小不等盤子、高級(jí)級(jí)別A座上有大小不等盤子、自定義級(jí)別A座用戶可以任意輸入盤子數(shù)目:(4)用戶可以通過單擊Hannoi塔界面上提供的按鈕,讓程序自動(dòng)完成把A座上的盤子全部移動(dòng)到C座上;(5)用戶在移動(dòng)盤子的過程中,可以隨時(shí)單擊Hannoi塔界面上提供的按鈕,重新開始當(dāng)前的級(jí)別;(6)有計(jì)時(shí)功能,即顯示用戶完成移動(dòng)盤子所花費(fèi)的時(shí)間;(7)用戶可以設(shè)置最大和最小盤子的大?。欢?、分功能
3、模塊概述1AutoMoveDisc模塊:聲明盤子的數(shù)量,塔點(diǎn),塔的名字,容器,文本框,以及用到的一些按鈕,定義設(shè)置移動(dòng)步驟的方法,定義操作演示的方法,最后聲明AutoMoveDisc這個(gè)方法并且實(shí)現(xiàn)AutoMoveDisc這個(gè)方法。2.Disc模塊:Disc類的主要功能是建立一個(gè)類disc,然后通過調(diào)用盤子的設(shè)置數(shù)量、獲取數(shù)量以及點(diǎn)的設(shè)置數(shù)量、獲取數(shù)量來實(shí)現(xiàn)這個(gè)程序的功能。3.HleMouse模塊:HleMouse類實(shí)現(xiàn)接口鼠標(biāo)監(jiān)視器和
4、鼠標(biāo)動(dòng)作監(jiān)視器處理鼠標(biāo)事件,在此模塊中,實(shí)現(xiàn)了對(duì)鼠標(biāo)操作從而完成漢諾塔的游戲。在這個(gè)類中,構(gòu)造了函數(shù)mousePressed點(diǎn)擊鼠標(biāo)鍵事件、mouseDragged拖動(dòng)鼠標(biāo)事件、mouseReleased放開鼠標(biāo)鍵事件,并對(duì)其構(gòu)造函數(shù)進(jìn)行實(shí)現(xiàn),接口并調(diào)用了mouseMoved移動(dòng)鼠標(biāo)事件、mouseEnter鼠標(biāo)進(jìn)入組件事件、mouseExited鼠標(biāo)離開組件事件、mouseClicked單擊鼠標(biāo)事件。4.HannoiWindow模塊:
5、HannoiWindow類的主要工功能是實(shí)現(xiàn)程序的窗口化。用的是BdLayout布局,采用了菜單、按鈕、面板等組件,菜單主要包括選擇級(jí)別,盤子個(gè)數(shù),設(shè)置大小等功能,它分別調(diào)用了塔的名字TowerName(A,B,C)、設(shè)置盤子的個(gè)數(shù)SetAmountOfDisc以及大小、這個(gè)游戲可以選擇的級(jí)別menuGrade(初、中、高),按鈕的功能包括重新開始(renew)和自動(dòng)演示(autoButton)以及播放、暫停、演示、關(guān)閉等。5.Towe
6、r模塊本模塊是有關(guān)Tower的程序,主要是塔的制作過程。2.DiscUML類圖3.HleMouseUML類圖HleMousepointApointBpointC:TowerPoint[]startPointendPoint:TowerPointleftXleftYx0y0:intmovecountTime:boolaencon:ContainerHleMouse(Containercon)setPointA(TowerPoint[]po
7、intA):voidsetPointB(TowerPoint[]pointB):voidsetPointC(TowerPoint[]pointC):voidmousePressed(MouseEvente):voidmouseMoved(MouseEvente):voidmouseDragged(MouseEvente):voidmouseReleased(MouseEvente):voidmouseEnter(MouseEvente)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 漢諾塔課程設(shè)計(jì)--漢諾塔演示程序設(shè)計(jì)
- 漢諾塔課程設(shè)計(jì)--基于vc++的漢諾塔游戲設(shè)計(jì)
- 漢諾塔演示
- 漢諾塔問題課程設(shè)計(jì)
- 《新漢諾塔》課程設(shè)計(jì)
- 漢諾塔hanoi問題
- 3done實(shí)體設(shè)計(jì)案例漢諾塔
- 基于java漢諾塔游戲設(shè)計(jì)與實(shí)現(xiàn)
- 3done實(shí)體設(shè)計(jì)案例漢諾塔
- 漢諾塔圖性質(zhì)研究.pdf
- 數(shù)據(jù)結(jié)構(gòu)編程-漢諾塔
- 數(shù)據(jù)結(jié)構(gòu)編程-漢諾塔
- mfc課程設(shè)計(jì)報(bào)告—漢諾塔演示系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--漢諾塔游戲
- 漢諾塔java課程設(shè)計(jì)說明書
- 漢諾塔問題的非遞歸新解法
- vb程序設(shè)計(jì)例題-程序改錯(cuò)程序填空程序設(shè)計(jì)
- 程序設(shè)計(jì)教案 程序設(shè)計(jì)——數(shù)據(jù)結(jié)構(gòu)
- 最簡(jiǎn)單的c程序設(shè)計(jì)――順序程序設(shè)計(jì)
- 自動(dòng)程序設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論