版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、中國象棋游戲設計畢業(yè)論文畢業(yè)論文中國象棋游戲設計1 緒論1.1 手機軟件現狀在信息社會中,手機及其他無線設備越來越多的走進普通百姓的工作和生活,隨著信息網絡化的不斷進展,手機及其他無線設備上網絡勢在必行。但是傳統手機存在以下弊端:1.傳統手機出廠時均由硬件廠商固化程序,程序不能增加、刪除,有了錯誤也不能更新、修改,若要增加新功能必須另換一部手機1。2.傳統手機訪問互聯網是通過WAP(Wireless Application Protocal),所有網絡資源必須接通網絡才能在線訪問,非常耗時、費用亦很高。而Java技術在無線應用方面的優(yōu)勢非常明顯:1)應用程序可按需下載,而不是購買由硬件商提供的
2、套件,可升級空間大。2)Java技術提供了一個類庫,它使的應用開發(fā)商可以創(chuàng)建更為直覺、豐富的用戶界面(GUI)2;3)Java技術使網絡帶寬的應用更為有效,因為應用程序可以下載到器件上,并在本地運行,僅僅是在連接到服務器時才會占用網絡帶寬3。基于以上分析,Java手機將是未來手機的發(fā)展方向,是業(yè)界的熱點。1.2 手機游戲應具有的特征一個手機游戲應該具有以下特征:易于學習: 既然手機游戲面向的是普通消費者而不是計算機專家,那么他們不可能深入的學習游戲技巧。消費者不會花幾個小時去研究一個3元的手動操作的游戲。保持游戲的簡單是最基本的要求4??芍袛嘈? 多任務處理是手機生活方式的基本特征。手機用戶常
3、常在任務(如等一個電子郵件或者等車)之間有一小段時間。而游戲、日歷管理、通訊和工作數據訪問使用的是同一個設備。所以一個好的手機游戲應該提供短時間的娛樂功能,并且允許用戶在游戲和工作模式之間順利切換5?;谟嗛啠菏謾C游戲的盈利成功取決于他們巨大的使用量。一開始開發(fā)和設計每個游戲都是昂貴的。如果一個手機游戲開發(fā)者要贏利的話,重要的是:同一個游戲引擎,多個標題,基本的故事情節(jié)類似?;谟嗛喌挠螒蚴遣粩喈a生收入的最好方法6。豐富的社會交互: 不管一個游戲設計得多好,只要玩家找到了它的根本模式或者玩完了所有的游戲路徑很快就會厭煩這個游戲。對于一個基于訂閱的游戲,重要的是與別的玩家合作以增強所玩游戲的智力
4、和隨機性7。在今天紛繁復雜的多玩家游戲中具有豐富社會交互的游戲證明是成功的。利用手機技術的優(yōu)點7:巨額的手機技術研發(fā)費用都花在提高設備和網絡的可用性和可靠性上面。因此,手機設備硬件和網絡協議與桌面/控制臺世界(如全球定位系統(GPS)擴展、條形碼掃描儀、和短消息服務(SMS)/多媒體信息服務(MMS)通訊)有著非常大的差別。好的手機游戲應該利用那些更新的設備特征和網絡基礎設備的優(yōu)點8。1.3 休閑類游戲開發(fā)簡述休閑類游戲(Casual Game)可以包含任何游戲類型的游戲性要素,通常休閑游戲的游戲規(guī)則相對簡單,無需特別的技巧,也不需要較長的時間就能完成游戲。休閑游戲經常出現在不同的平臺上8,包
5、括家用游戲機、掌上游戲機和個人電腦上等等。休閑類游戲通常也適合于各種不同性別、地域和文化的玩家群體。本文所涉及的游戲項目,是一款棋類休閑游戲,基于 Windows 平臺,無需較長的時間就能完成一局的游戲,一局游戲一般在 5 到 20 分鐘左右就能完成9。根據該局游戲玩家的游戲策略等因素,一局游戲的完成時間會有一定差別。在游戲開發(fā)團隊中,團隊成員主要有制片人等管理人員、程序員、美術(本文中的美術一詞代表的是美術制作人員,在一些游戲公司中用美術這個詞,而不用美工這個詞)和策劃(游戲設計師)10。通常還需要音樂制作人員,但在多數公司中,主要的音樂制作任務都會交由獨立音樂制作人或者專門的音樂制作公司完
6、成。早期傳統的游戲程序是大多都是單線程執(zhí)行的,這是由于游戲軟件本身的內在邏輯,以及需要較高的實時交互性。如下一頁的圖所示,說明了通常一個游戲軟件的運行流程11。在程序初始化階段,進行內存分配,從硬盤讀取資源,建立相關的輔助結構等。接下來進入游戲主循環(huán)不停的循環(huán)運行直到接收到退出游戲的指令或者消息。在主循環(huán)中,首先接收玩家的輸入,然后根據游戲內部規(guī)則改變游戲的狀態(tài),然后進行圖形圖像處理,輸出一幀游戲畫面,接下來根據幀速率和游戲速度的要求,等待一段時間后繼續(xù)執(zhí)行主循環(huán)或者直接開始下一個循環(huán)12。1.4 中國象棋發(fā)展現狀我國象棋源遠流長,歷史悠久。但究其源頭,眾說紛壇,尚難斷論。戰(zhàn)國時期宋玉所著楚辭
7、招魂篇里有蓖蔽象棋,有六博些說法,提到了象棋。從那時到現在已有兩千多年了。但當時的象棋指的是象牙做的六博棋,不是現代形制的象棋。六博棋由兩人對弈,每方六子,有梟、盧、雉、犢、塞五種棋子,前四種棋子雙方各一枚,最后一種棋子塞各兩枚。梟為首,即主帥。說苑載有 雍門子周以琴見孟嘗君說:足下燕居則斗象棋而舞鄭女??梢娔菚r在達官權貴和士大夫中已流行下象棋,甚至影響到門客了。北周武帝(公元561-578年)曾制象經,并集合百官在朝廷進行講解。文學家庾信曾作象棋經賦及進象棋經賦。那時期,象戲在宮廷和文人中很盛行,但也不是現代形制的象棋。第一個以比較完整的篇章來描述象棋著法的是南宋詩人劉克莊。他的長達240字
8、的五言古詩象弈中,有小藝雖難精,上智有未解。君看桔中戲,妙不出局外。屹然兩國立,限以大河界。三十二子者,-俱變態(tài)。遠炮勿虛發(fā),冗卒要精汰。昆陽以象奔,陳濤以車敗。匹馬郭令來,一士汲黯在。 等句,形象地描寫了象棋的棋盤、棋子和著法。和劉克莊同時代但稍晚些的著名學者陳元靚,在他晚年所編的日用百科全書事林廣記中,輯集了一些棋勢和兩個全局著法,這是見于記載的最古棋局。中國象棋發(fā)展至今已有二千三、四百年的歷史了,早在戰(zhàn)國時期就有正式記載,堪稱中國的國粹。據統計,中國有2億人會下中國象棋,這相當于平均6至7個人中就有1人會下,可見它有著廣泛的群眾基礎。方寸之間包含天地玄機,人生哲理,使人越是細玩越覺其味悠
9、然深遠。簡單的棋規(guī),便捷的載體,使得他成為雅俗共賞的競技項目13。然而,如今中國象棋的發(fā)展前景卻令人堪憂。導致這種現象的主要因素有:第一,就東亞地區(qū),圍棋的影響力勝于中國象棋。第二,中國象棋雖然在國內很受歡迎,但在世界舞臺上名聲卻不如國際象棋那么響亮。之所以會存在這兩個因素,都是因為在國際賽事上中國象棋的參賽選手大都是華人,而非華裔的選手又大都是業(yè)余選手,這無疑使比賽失去了競爭力,而圍棋有韓國和日本的參與,國際象棋有全世界國家的加入14。第三,進入了21世紀后,供人們娛樂活動的選擇越來越多,中國象棋在年輕人的心中已開始漸漸失去魅力。各種中國象棋軟件的開發(fā)與應用,尤其是在網絡方面的推廣,使得中國
10、象棋得到了很好的宣傳,全面展示了中國象棋的風采、優(yōu)點與特色,同時也讓外國人認識到中國象棋這一我國的“國粹”。中國象棋打譜系統正是為這一可行性而開發(fā)設計的,玩家可以通過它很好的研究棋譜,學習中國象棋技術,提高水平。想必在未來的幾年隨著中國象棋在各個領域的推廣,必定會帶來巨大的影響和經濟效益15。1.5 論文組織結構第一章是緒論,主要介紹了休閑類游戲,中國象棋發(fā)展現狀以及論文的組織結構。第二章是相關技術簡介,主要介紹了本次設計所用到的知識,如Java面向對象程序設計技術和要用到的開發(fā)軟件。第三章是需求分析及可行性研究,主要介紹了需求分析中的系統功能需求和系統性能需求;經濟性、技術性和社會性可行性分
11、析。第四章是系統總體設計,主要介紹了系統設計的主要內容、軟件結構圖和游戲運行流程圖。第五章是系統詳細設計,主要介紹函數的算法實現和流程圖,是本論文的重點部分。第六章是系統實現和測試,主要是介紹系統的主要實現界面和系統的測試方法和結果。第七章是總結和展望,總結了所取得的成果和存在的不足之處,展望未來應改進的地方。1.6 本章小結本章主要介紹了手機軟件的現狀和棋牌類游戲的發(fā)展、手機游戲在中國的發(fā)展、中國象棋游戲的發(fā)展與論文的組織結構。手機在中國已經是進入家家戶戶,現在基本上每人都有一步手機,這給手機游戲的發(fā)展提供了市場,而中國游象棋游戲是一個精典并且長盛不衰的娛樂游戲,無論老人不、小孩都會下象棋,
12、給中國象棋發(fā)展成為手機休閑娛樂創(chuàng)造了機會,Android手機游戲開發(fā)給休閑游戲創(chuàng)造了有利的條件。2 相關技術簡介2.1面向對象程序設計方法Java面向對象程序設計的基本思想是通過構造和組織對象來求解問題的。對象是很好理解的,任何一種物體都可以被認為是對象,例如,汽車就是一種對象。對象具有兩個最基本的屬性:具有一定的物質基礎和一定的功能,這兩種基本屬性在Java語言中表現為擁有一定的存儲單元并具備一定的功能。理解了Java的這種面向對象程序設計的基本思想之后,在以后的編程過程中,就應當個構造人們容易理解的更接近于真實物理世界物體的對象16。Java面向對象程序設計的過程非常簡單。這里介紹一種自頂
13、向下的程序設計方法,首先構造一個類來處理需要解決的問題,然后根據已經擁有的類(例如以前求解其它問題時實現的類),分析和構造新的類,設法將問題分解下去,而最開始構造的類通過組織這些新構造的類、已有的類及由他們生成的實例來求解指定的問題。這個過程可以繼續(xù)遞歸下去17,用在新構造的類上,直到最后解決了指定的問題,例如Java的應用程序和小應用程序都必須有一個類作為入口求解問題。在計算機語言中,面向對象的類一般具有三個基本特性:封裝性、繼承性和多態(tài)性,這三種特性進一步簡化了Java求解模型,提高了程序的復用性,節(jié)省了程序的代碼量,從而提高了軟件的生產率18。2.2 開發(fā)環(huán)境及相關技術的介紹2.2.1
14、平臺無關性平臺無關性是指Java能運行于不同的平臺。Java引進虛擬機原理,并運行于虛擬機,實現不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍內共享。Java的數據類型與機器無關,Java虛擬機(Java Virtual Machine)是建立在硬件和操作系統之上,實現Java二進制代碼的解釋執(zhí)行功能,提供于不同平臺的接口的。2.2.2. 安全性Java的編程類似C+,學習過C+的讀者將很快掌握Java的精髓。Java舍棄了C+的指針對存儲器地址的直接操作,程序運行時,內存由操作系統分配,這樣可以避免病毒通過指針侵入系統。Java對程序提供了安全管理器,防止程序的非法訪問19。
15、2.2.3. 面向對象Java 吸取了C+面向對象的概念,將數據封裝于類中,利用類的優(yōu)點,實現了程序的簡潔性和便于維護性。類的封裝性、繼承性等有關對象的特性,使程序代碼只需一次編譯,然后通過上述特性反復利用。程序員只需把主要精力用在類和接口的設計和應用上。Java 提供了眾多的一般對象的類,通過繼承即可使用父類的方法。在 Java 中,類的繼承關系是單一的非多重的,一個子類只有一個父類,子類的父類又有一個父類。Java 提供的 Object 類及其子類的繼承關系如同一棵倒立的樹形,根類為 Object 類, Object 類功能強大,經常會使用到它及其它派生的子類20。2.2.4. 分布式Ja
16、va建立在擴展TCP/IP網絡平臺上。庫函數提供了用HTTP和FTP協議傳送和接受信息的方法。這使得程序員使用網絡上的文件和使用本機文件一樣容易。2.2.5. 鍵壯性Java致力于檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現的錯誤。Java自已操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能。這些功能特征大大提高了開發(fā)Java應用程序的周期。Java提供: Null指針檢測、數組邊界檢測、異常出口、 Byte code 校驗21。2.3 關于ECLIPSEEclipse 是替代IBM Visual Age for Java的下一代IDE開發(fā)環(huán)境2
17、2,但它未來的目標不僅僅是成為專門開發(fā)Java程序的IDE環(huán)境,根據Eclipse的體系結構,通過開發(fā)插件,它能擴展到任何語言的開發(fā),甚至能成為圖片繪制的工具。目前,Eclipse已經開始提供C語言開發(fā)的功能插件。更難能可貴的是,Eclipse是一個開放源代碼的項目,任何人都可以下載Eclipse的源代碼,并且在此基礎上開發(fā)自己的功能插件。也就是說未來只要有人需要,就會有建立在Eclipse之上的COBOL,Perl,Python等語言的開發(fā)插件出現。同時可以通過開發(fā)新的插件擴展現有插件的功能,比如在現有的 Java開發(fā)環(huán)境中加入Tomcat 服務器插件??梢詿o限擴展,而且有著統一的外觀,操作
18、和系統資源管理,這也正是Eclipse的潛力所在23,多數人認為Eclipse是Java IDE,不過,當下載Eclipse之后,除了有Java IDE(就是JDT),還有PDE。然而Eclipse是萬用工具平臺。JDT實際上是Eclipse 的添加品,也就是外掛程序。Eclipse本身實際上是指Eclipse平臺(Eclipse Platform),除了下載時能取得Java工具集以外,還提供各種工具的支持,所以平臺本身只是相當小的組軟件24。如果想開發(fā)Java程序,用的是Eclipse隨附的JDT外掛程序。如果想開發(fā)其它語言的程序,就需要拿到其它外掛程序,諸如CDT(C Developmen
19、t Toolkit)就可以開發(fā)C/C+程序。Eclipse跨計算機語言,也跨人類的語言25。相同的外掛機制可用來增加對不同語言的支持,這里使用一種特殊的外掛,叫做外掛程序片斷(plug-in fragment)。IBM以捐出一個語言套件,支持中文(繁體與簡體)、法文、德文、意大利文、日文、韓文、葡萄牙文(巴西)與西班牙文。照理說Eclipse以Java寫成,應該可以在任何的平臺執(zhí)行。但嚴格來說Eclipse不是跨平臺的,因為它使用作業(yè)平臺的原生圖形來建置。因此要等SWT(Standard Widget Toolkit)移植到該平臺,Eclipse才能在那個平臺執(zhí)行。但就現實而言到不是什么大問題
20、,因為SWT已經被移植到數個常見平臺上了,包括Windows、Linux/Motif、Linux/GTK2、Solaris、QNX、AIX、HP-UX與Mac OS X26。Eclipse平臺的目的,是提供多種軟件開發(fā)工具的整合機制27,這些工具會成為Eclipse外掛程序,平臺必須用外掛程序加以擴充才有用處。Eclipse設計美妙之處,在于所有東西都是外掛,除了底層的核心以外。這種外掛設計讓Eclipse具備強大擴充性,但更重要的是,此平臺提供一個定義明確的機制,讓各種外掛程序共通合作(透過延伸點extension points)與貢獻(contributions),因此新功能可以輕易且無縫
21、地加入平臺28。2.4 Android技術Android一詞的本義指“機器人29”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。2008年9月22日,美國運營商T-Mobile USA在紐約正式發(fā)布第一款Google手機T-Mobile G1。該款手機為臺灣宏達電代工制造,是世界上第一部使用Android操作系統的手機,支持WCDMA/HSPA網絡,理論下載速率7.2Mbps,并支持Wi-Fi30。Android作為軟件平臺標準,需有硬件提供各種
22、運算能力才能形成完整系統。Android軟件平臺包含Java應用程序、Application Framework、Libraries、RuntimeLinux Os等層。每一層內含多個獨立組件完成不同功能,Android在各組件與層之間訂出標準界面。因此Android系統可以像積木堆棧一般,不同應用產品可以依功能需要加入軟件或硬件組件整合成不同產品31。2.5本章小結本章主要介紹基于java面向對象的和序設計。還有Google公司推出的新產品Android技術和Eclipse平臺。Eclipse是開源的可擴展的開發(fā)平臺。Java作為市場上一款非常流行開發(fā)軟件和從java語言問世以來快速發(fā)展就可
23、以看得出來。Java是一種簡單的,面象對象的,分布式的,解釋的,鍵壯的安全的,結構的中立的,可移植的,性能很優(yōu)異的多線程的,動態(tài)的語言32。Android 作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進一步推進隨時隨地為每個人提供信息這一企業(yè)目標的實現。android在中國的前景十分廣闊,首先是有成熟的消費者,在國內,android社區(qū)十分紅火比如/doc/b4e06f62a9956bec0975f46527d3240c8447a16b.html,這些社區(qū)為android在中國的普及做了很好的推廣作用。國內廠商和運營商也紛紛加入了android陣營,包括魅族
24、,中國移動,中國聯通,華為通訊,聯想等大企業(yè)。Eclipse 是一個開放源代碼的、基于Java 的可擴展開發(fā)平臺并且跨平臺,跨語言開發(fā)軟件33。3系統總體設計3.1、詳細規(guī)則、勝負判定方法3.1.1 認識棋盤和棋子棋盤棋子活動的場所,叫做棋盤,在長方形的平面上,繪有九條平行的豎線和十條平行的橫線相交組成,共九十個交叉點,棋子就擺在這些交叉點上。中間第五、第六兩橫線之間未畫豎線的空白地帶,稱為河界,整個棋盤就以河界分為相等的兩部分;兩方將帥坐鎮(zhèn)、畫有米字方格的地方,叫做九宮34。/doc/b4e06f62a9956bec0975f46527d3240
25、c8447a16b.html棋子象棋的棋子共三十二個,分為紅黑兩組,各十六個,由對弈雙方各執(zhí)一組,每組兵種是一樣的,各分為七種:紅方:帥(1)、仕(2)、相(2)、車(2)、馬(2)、炮(2)、兵(5)黑方:將(1)、士(2)、象(2)、車(2)、馬(2)、炮(2)、卒(5)3.1.2 走棋和吃子對局時,由執(zhí)紅棋的一方先走,雙方輪流各走一著,直至分出勝、負、和,對局即終了。輪到走棋的一方,將某個棋子從一個交叉點走到另一個交叉點,或者吃掉對方的棋子而占領其交叉點,都算走一著。雙方各走一著,稱為一個回合。/doc/b4e06f62a9956bec097
26、5f46527d3240c8447a16b.html各種棋子的走法:帥(將):帥和將是棋中的首腦,是雙方竭力爭奪的目標。它只能在九宮之內活動,可上可下,可左可右,每次走動只能按豎線或橫線走動一格。帥與將不能在同一直線上直接對面,否則走方判負35。仕(士):仕(士)是帥(將)的貼身保鏢,它也只能在九宮內走動。它的行棋路徑只能是九宮內的斜線。相(象):相(象)的主要作用是防守,保護自己的帥(將)。它的走法是每次循對角線走兩格,俗稱象走田。相(象)的活動范圍限于河界以內的本方陣地,不能過河,且如果它走的田字中央有一個棋子,就不能走,俗稱塞象眼。 /doc
27、/b4e06f62a9956bec0975f46527d3240c8447a16b.html車:車在象棋中威力最大,無論橫線、豎線均可行走,只要無子阻攔,步數不受限制。因此,一車可以控制十七個點,故有一車十子寒之稱。炮:炮在不吃子的時候,走動與車完全相同36。馬:馬走動的方法是一直一斜,即先橫著或直著走一格,然后再斜著走一個對角線,俗稱馬走日。馬一次可走的選擇點可以達到四周的八個點,故有八面威風之說。如果在要去的方向有別的棋子擋住,馬就無法走過去,俗稱蹩馬腿。 /doc/b4e06f62a9956bec0975f46527d3240c8447a16
28、b.html兵(卒):兵(卒)在未過河前,只能向前一步步走,過河以后,除不能后退外,允許左右移動,但也只能一次一步。3.1.3 吃子任何棋子走動時,如果目標位置上有對方的棋子37,就可以把對方的棋子拿出棋盤,再換上自己的棋子(即吃子)。只有炮的吃子方式與其他子不同:炮與被吃子之間必須隔一個棋子,進行跳吃,俗稱架炮或炮打隔子。/doc/b4e06f62a9956bec0975f46527d3240c8447a16b.html3.1.4 將軍、應將、將死、困斃一方的棋子攻擊對方的帥(將),并在下一著要把它吃掉,稱為將軍,或簡稱將。被將軍的一方必須立即應
29、將,即用自衛(wèi)的著法去化解被將的狀態(tài)。如果被將軍而無法應將,就算被將死。輪到走棋的一方,帥(將)雖沒被對方軍,卻被禁在一個位置上無路可走,同時己方其它棋子也都不能走動,就算被困斃。 /doc/b4e06f62a9956bec0975f46527d3240c8447a16b.html3.1.5 勝、負、和對局時,一方出現下列情況之一,為輸棋(負),對方取勝:帥(將)被對方將死,即被對方將軍卻無法應將;被困斃,即雖未被對方將軍,本方卻已無棋可走動;自己宣布認輸。一方長將不變,長將一方算輸。出現以下情況,算和局: http:/www.wendangku.n
30、et/doc/b4e06f62a9956bec0975f46527d3240c8447a16b.html一方輪走時,提議作和,對方同意;雙方長將不變,符合棋例中不變作和的規(guī)定,雙方又不愿變著時38。3.2規(guī)則類封裝的流程圖中國象棋的士是宮廷衛(wèi)士,司九宮安全,不離帥(將)左右; 象是臣相,只能于本土飛來飛去。如此寵大的護衛(wèi)部隊削弱了攻擊的力量,另一方面卻增強了防御體系,即使前線戰(zhàn)士全部馬革裹尸還,也可能殺和敵軍的騷擾,這些反映出中國君王傳統的求穩(wěn)怕亂的心理和習慣。國際象棋沒有后勤人員的設置,它的象是指教士,分黑的格象,能滿盤飛舞,黑格角的格象各司職互不相交,暗示著東正教、天主教對中世紀歐洲的影響
31、39。中國象棋的兵(卒)只能一步步向前走39,不能后退,雖有 過河小卒當小車之說,但它終究是卒,到頭無非一老卒而矣,隱喻著 生死有命、富貴在天 的愚民信條。國際象棋的兵雖然也只能前進,但它走到對方底線可開格為王之外的任何一子,這展現了西方進取、升遷的欲望和機會。象棋有法度森嚴的精神,中國象棋對棋子的限制尤為突出,區(qū)區(qū)十六個子有五個不能過河,士、象有法定的路線,馬有拐腳之制約,縱是千里馬一旦受制也難以縱橫馳騁,表現著壓抑個性的封建體制。國際象棋沒有對棋子的過多約束,反射著西方豪邁不羈、自由奔放的個人發(fā)展。3.2.1車行走流程圖圖3-1車行走流程圖本圖是車的行走流程圖,首先車的位置在棋盤四角,車走
32、直線分為橫向和縱向,如果走橫向,先判斷終點有沒有落子,如果沒有,就可走,如果有落子,再判斷是敵方還是自己的棋子,如果是敵方的棋子可以落到對方位置并且吃了對方的棋子,如果是自己的棋子就不可走。3.2.2馬行走流程圖圖3-2 馬行走流程圖本圖是馬行走的流程圖,首先判斷馬在棋盤上的位置,再判斷馬行走的規(guī)則,馬行日,就是行走日的對角線,當然這個日子也可以是橫著的,當然還要注意馬別腿的走法,如果別腿就不可走,判斷別腿是看馬走的日子中間一條橫線上緊挨著馬的位置是否有棋子,如果有棋子,就是馬別腿,不可走,如果沒有棋子就是可以走了。3.2.3士行走流程圖圖3-3 士行走流程圖本圖是士的走法流程圖,士位于九宮格
33、中,起始位置在帥或將的旁邊與相的旁邊,士的走法首先不能出九宮格,還有只能走斜線,實際上可走的位置只在五個地方,九宮格的四角和中心,并且判斷不能有自己一方的棋子才可走。中國象棋的士是宮廷衛(wèi)士,司九宮安全,不離帥(將)左右。3.2.4炮行走流程圖圖3-4 炮行走流程圖本圖是炮的行走流程圖。炮的走法和車的走法類似,也是可以橫向走和縱向走,當終點沒有棋子時,可以走到終點位置,但是炮的吃子和車不同,車是橫向縱向遇到敵方棋子直接吃,但是炮不同,炮要隔一顆子吃后面的棋子,當然必須在一條直線上才可以,隔的子可以是對方的也可以是自己的。3.2.5象行走流程圖圖3-5 象行走流程圖本圖是象行走的流程圖。象走田,象
34、行走必須以田的對角線行走,還有象不能過河,只能在自己一方行走,象行走也要注意別腿地方,象走田。如果田的中心也就是象心有棋子的話,象就別腿了,就不能到達終點。根據象的起始位置還有不能過河,象能走位置只有七個地方。3.2.6兵行走流程圖圖3-6 兵(卒)行走流程圖本圖為兵行走的流程圖。兵的行規(guī)則是未過河只能往前走,不能后退或者左右走,過河之后能左右行走還是不能后退,無論過不過河,都只能每次行走一步。3.2.7將或帥行走流程圖圖3-7 將(帥)行走流程圖本圖是將(帥)行走流程圖。將(帥)作為雙方的指揮者,首位置在兩個士的正中心,將的行走范圍也是不能出九宮格,而且在九宮格內只能走直線,并且每次只能行走
35、一步。將(帥)是象棋游戲的關鍵,一旦將(帥)這顆子被對方吃了,整個游戲就代表輸了。3.3本章小結本章介紹系統的總體設計,詳細設計規(guī)則主要介紹了、勝負的判定方法,車、馬象、士,將(帥)的走法,也就是象棋規(guī)則的封裝。還有判斷勝負的方法,當然還有各種和棋、吃子、將軍應將、將死、困斃的情況。其次介紹了車、馬、炮、象、士、將(帥)、兵(卒)行走流程圖。還有車、馬、炮、象、士、將(帥)兵(卒)等在國家戰(zhàn)警爭里象征的意義。4詳細設計4.1棋子走法流程圖圖4-1 棋盤位置圖本圖是棋盤形狀圖,通過經X,Y軸坐標的判斷棋盤的大小,棋盤的落子位置先畫出棋盤橫線,再計算棋盤的豎線,橫線和豎線交叉的位置就是棋子的落點。
36、這樣整個棋盤形狀大小就出來了。棋盤的位置就是通過這種坐標實現的。游戲開始時各個棋子(車、馬、炮、象、士,將、帥、兵、卒)它們的開始的位置都確定了,通過坐標,機器可以準確的將棋子移到指定的位置,人機對弈時,人點擊棋子進行移動時,機器通過坐標計算同時進行移動到人指定的位置,通過坐標可以計算出棋盤每個落子點的位置,再根據規(guī)則類計算棋子落點是否符合象棋規(guī)則,如果不符合,就不能進行移動,還要注意特別的捌腿事件。符合象棋走法規(guī)則也不一定能下,還要注意象、馬捌腿,象心等關鍵地方。沒有違反這些規(guī)則才能下到指定的地點。圖4-2棋子移動圖本圖為人的行走流程圖,本游戲為人機對弈的象棋游戲,本圖是人走的流程圖,人行走
37、是用鼠村點擊的方式,先用鼠標點擊要走的棋子獲取棋子對象,按下鼠標拖到終點位置,由機器檢測通坐標確定終點位置,再把棋子由起點位置移動到終點位置。下一步由機器行走。圖4-3 獲取棋子圖本圖是人或者機器移動棋子時,獲取棋子對象,使棋盤釋放棋子對象,再將釋放傳給棋盤,釋放響應事件圖4-4 規(guī)則流程圖本圖是象棋規(guī)則圖,第一步檢查覆蓋區(qū)域是否包含棋點,沒有放回原處,如果有再判斷該點上否有棋子,如果沒有棋子并且符合象棋規(guī)則就放在棋點上,不符合規(guī)則放回原點,如果該棋點有棋子的話,再判斷兩棋子是否同一方,是同一方,該棋子放回原處,如果不同,符合規(guī)則就放到棋點上并吃掉對方的棋子,如果不符合規(guī)則放回原處。4.2游戲頁面的介紹運行程序進入開機動畫界面,也就是游戲歡迎頁面左上角是國際象棋的標志,右邊是“中國象棋之博弈的藝術”再有兩齊圖片一個菜單按紐茶單,點擊菜單進入菜單欄。這是一個登陸界面,介紹這是一個象棋游戲,便讓人知道這是一個象棋游戲,挑戰(zhàn)自己,集中你的智慧,來享受博弈的樂趣,會勾起人們想下棋的欲望,被象棋游戲吸引,而且可以單人下,在火車上休閑時都可以,特別一個人也可以下,避免傳統象棋游戲非
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2182-2024農灌機井取水量計量監(jiān)測方法
- JJF 2165-2024實驗室振動式液體密度儀校準規(guī)范
- 2024年度網絡游戲虛擬物品交易合同
- 2024年度建筑工程施工承包合同標的明細
- 2024城市地下綜合管廊建設項目融資合同
- 2024年度放心簽建材銷售合同模板
- 2024年工程質量檢測與環(huán)保評估合同
- 2024年度廣告發(fā)布合同標的廣告內容與投放時間
- 2024小產權房買賣合同糾紛
- 地理教學課件教學課件
- 2024年入團知識考試題庫及答案
- 腫瘤化療導致的中性粒細胞減少診治中國專家共識(2023版)解讀
- 《新能源汽車概論》課件-6新能源汽車空調系統結構及工作原理
- 2024年共青團入團考試題庫(附答案)
- 田徑運動會各種記錄表格
- 產科新生兒疫苗接種課件
- 企業(yè)信息管理概述課件
- 室外健身器材投標方案(技術方案)
- 足浴店店長聘用合同范本
- tubeless胸科手術麻醉
- 電商免責聲明范本
評論
0/150
提交評論