java課程設(shè)計--中國象棋打譜系統(tǒng)

java課程設(shè)計--中國象棋打譜系統(tǒng)

ID:35626605

大小:579.50 KB

頁數(shù):61頁

時間:2019-04-03

java課程設(shè)計--中國象棋打譜系統(tǒng)_第1頁
java課程設(shè)計--中國象棋打譜系統(tǒng)_第2頁
java課程設(shè)計--中國象棋打譜系統(tǒng)_第3頁
java課程設(shè)計--中國象棋打譜系統(tǒng)_第4頁
java課程設(shè)計--中國象棋打譜系統(tǒng)_第5頁
資源描述:

《java課程設(shè)計--中國象棋打譜系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫

1、課程設(shè)計說明書No61中國象棋打譜系統(tǒng)1.課程設(shè)計的目的象棋水平的發(fā)展是需要靠信息技術(shù)來推動的,國際象棋有兩個很好的范例,一個是象棋棋譜編輯和對弈程序的公共平臺——WinBoard平臺,另一個是商業(yè)的國際象棋數(shù)據(jù)庫和對弈軟件——ChessBase,他們?yōu)閲H象棋愛好者和研究者提供了極大的便利。國際象棋軟件有著成功的商業(yè)運作,已發(fā)展成一種產(chǎn)業(yè)。然而,電腦在中國象棋上的運用還剛剛起步,盡管國內(nèi)涌現(xiàn)出一大批中國象棋的專業(yè)網(wǎng)站和專業(yè)軟件,但是由于缺乏必要的基礎(chǔ)工作,電腦技術(shù)在中國象棋上的應(yīng)用優(yōu)勢還無法體現(xiàn)出來。在設(shè)計中國象棋軟件過程中,國際象棋軟件有很多值得借鑒

2、的成功經(jīng)驗和優(yōu)秀的思想。例如B.Moreland,微軟(Microsoft)的程序設(shè)計師,業(yè)余從事國際象棋引擎Ferret的開發(fā),他的一系列關(guān)于國際象棋程序設(shè)計的文章非常值得其他棋類程序設(shè)計人員借鑒。然而,中國象棋與國際象棋存在著很大的差異,因此國際象棋的某些成熟技術(shù),無法直接應(yīng)用于中國象棋,需要對其加以改進和創(chuàng)新。2.設(shè)計方案論證2.1設(shè)計要求(1)中國象棋是雙方在由9條和10條橫線分割而成的棋盤對弈。豎線與橫線的交叉點稱做棋點,每個棋子都放置在棋點上,而不是方格中。河界將棋盤分為兩個等分=份,沒一邊都有一個由9個點組成的區(qū)域“將”,“帥”,“士”只能

3、在“九宮”內(nèi)移動,并且“將”,“帥”,的每一步只可以水平或垂直移動一個棋點。士:“士”只能在“九宮”內(nèi)移動,并且每一步只可以沿對角線方向移動一個棋點。象;一步必須沿對角線方向走兩個棋點。但它既不能過河,也不能跳過或穿越障礙,即象征走的過程不能被“別眼”。馬:每一步只可以水平或垂直移動一個棋點。但它必須沿對角線方向,向左或向右移動,中國象棋的馬不能跳過障礙,即在走的過程不能被“別腿”。車:可以沿水平或垂直方向移動任意個無障礙的點。炮:行走規(guī)則和車很類似,但它必須跳過一個棋子來吃掉對方的一個棋子。被跳過的棋子被稱為橋或者屏風(fēng)。兵:過河前每步只能向前移動一個棋

4、點。過河后,它便增加了向左右移動的能力。并不允許向后移動。(2)單擊“中國象棋”菜單可以選擇“制作棋譜”,“保存棋譜”和“演示棋譜”菜單項。(3)沈陽大學(xué)課程設(shè)計說明書No61選擇“制作棋譜”,將出現(xiàn)相應(yīng)的棋盤,該棋盤可進行實戰(zhàn)對弈,可以隨時選擇“保存棋譜”,將對弈過程保存成一個棋譜文件。選擇“演示棋譜”將顯示打開文件對話框供用戶選擇以保存的棋譜文件。選擇棋譜文件后,將顯示用來演示棋譜的棋盤,用戶可以選擇自動或者手動來演示對弈過程。2.2設(shè)計思路在設(shè)計中國象棋打譜系統(tǒng)時,編寫了10個Java源文件:ChinaChess.java、ChessBoard.j

5、ava、ChessPiece.java、Point.java、ChessBox.java、InitPieceLocation.java、InitCanju.java、HandleMouse.java、MoveRule.java和DemoManulDialog.java。中國象棋打譜系統(tǒng)除了需要我們編寫的10個Java源文件所給出的類,還需要Java系統(tǒng)提供的一些重要的類,如Jmenu、JtextField和Jbutton等類。中國象棋打譜系統(tǒng)所用到的一些重要的類以及之間的組合關(guān)系如圖1所示。圖1.類之間的組合關(guān)系2.2.1類的設(shè)計(1)ChinaChes

6、s類負(fù)責(zé)創(chuàng)建中國象棋打譜系統(tǒng)的主窗口,該類含有main方法,程序從該類開始執(zhí)行。ChinaChess類的成員變量中有5種重要類型的對象:Jmenu、ChessBoard、DemoManulDialog、JtextField和Jbutton。以下表1、表2分別是ChinaChess類的主要成員變量和方法的設(shè)計表1.ChinaChess類的主要成員變量成員變量描述變量類型名稱刻畫棋盤ChessBoardboard演示棋譜DemoManulDialogdemoManul顯示提示信息JTextFieldhintMessage保存棋譜JButtonsaveManu

7、l沈陽大學(xué)課程設(shè)計說明書No61表2.ChinaChess類的主要方法方法名功能備注ChinaChess()完成窗口初始化無類型actionPerformed實現(xiàn)接口voidmain程序運行入口方法void(2)ChessBoard類創(chuàng)建的對象是ChinaChess類最重要的成員之一,代表棋盤。該類的成員變量中有5種重要類型的對象:Point、ChessPiece、ChessBox、InitPieceLocation、InitCanju和HandleMouse。以下表3、表4分別是ChessBoard類的主要成員變量和方法的設(shè)計表3.ChessBoard

8、類的主要成員變量成員變量描述變量類型名稱點擊悔棋一步JButtoncancel表

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。