【正文】
哈爾濱商業(yè)大學畢業(yè)設(shè)計(論文)五子棋的設(shè)計與實現(xiàn)學 生 姓 名 周玉春 指 導(dǎo) 教 師 李恩林 專 業(yè) 計算機科學與技術(shù) 學 院 計算機與信息工程 2010年 06月 02日Graduation Project (Thesis)Harbin University of CommerceThe Design and Implementationof GobangStudent Zhou Yuchun Supervisor Li Enlin SpecialtyComputer Science and Technology SchoolComputer and Information Engineering 2010 06 02畢業(yè)設(shè)計(論文)任務(wù)書姓名:周玉春學院:計算機與信息工程班級:2006級4班專業(yè):計算機科學與技術(shù)畢業(yè)設(shè)計(論文)題目:五子棋的設(shè)計與實現(xiàn)立題目的和意義:本程序旨在用JAVA實現(xiàn)一個基本于C/S模式的五子棋網(wǎng)絡(luò)對戰(zhàn)游戲。玩家作為客戶端通過服務(wù)器端與其它玩家進行對戰(zhàn),聊天等功能。通過實現(xiàn)本程序加深對計算機網(wǎng)絡(luò)編程的了解。技術(shù)要求與工作計劃:開發(fā)環(huán)境: Intel core 2 duo 1G內(nèi)存 160硬盤;Microsoft174。 Windows?XP Professional;JDK ;Eclipse 運行環(huán)境:IntelPentium174。 2及以上處理器,32M以上內(nèi)存,4G以上硬盤;Microsoft174。 Windows? 9X/NT/XP操作系統(tǒng);800*600或以上的屏幕分辨率工作計劃: 第一階段 需求分析 第二階段 系統(tǒng)設(shè)計 第三階段 系統(tǒng)實現(xiàn) 第四階段 論文初稿,程序調(diào)試 第五階段 論文終稿,程序修訂 第六階段 準備論文答辯時間安排: 1月2月 收集論文資料,確定畢業(yè)設(shè)計題目 3月4月 實習和調(diào)研,編寫開題報告 4月5月 程序設(shè)計和調(diào)試 5月6月 論文初稿 6月答辯 論文終稿及答辯指導(dǎo)教師要求:(簽字) 年 月 日教研室主任意見:(簽字) 年 月 日院長意見: (簽字) 年 月 日畢業(yè)設(shè)計(論文)審閱評語一、指導(dǎo)教師評語: 指導(dǎo)老師簽字: 年 月 日 畢業(yè)設(shè)計(論文)審閱評語 評閱人評語: 評閱人簽字: 年 月 日畢業(yè)設(shè)計(論文)答辯評語三、答辯委員會評語:四、畢業(yè)設(shè)計(論文)成績: 專業(yè)答辯組負責人簽字: 年 月 日五、答辯委員會主任簽章答辯委員會主任單位: (簽章) 答辯委員會主任職稱: 答辯委員會主任簽字: 年 月 日哈爾濱商業(yè)大學畢業(yè)設(shè)計(論文)摘 要隨著互聯(lián)網(wǎng)迅速的發(fā)展,網(wǎng)絡(luò)游戲已經(jīng)成為人們普遍生活中不可或缺的一部分,它不僅能使人娛樂,也能夠開發(fā)人的智力,就像本文所主要講的五子棋游戲一樣能挖掘人們聰明的才干與腦袋的機靈程度。本文主要講的是用Eclipse開發(fā)工具與java開發(fā)語言開發(fā)出一個自定義界面的五子棋小游戲,本游戲程序能實現(xiàn)兩個人對陣下棋,并且程序中能智能的判定游戲的獲勝方和游戲的結(jié)束與否,實現(xiàn)兩方進行博弈。通過對軟件的編寫,更深入的理解了面向?qū)ο蟮母拍?,也體會到利用面向?qū)ο笳Z言處理一些問題的優(yōu)勢。同時也加深了對多線程,流套接字等高級技術(shù)的理解。關(guān)鍵詞: Eclipse; java語言; 自定義 ; 五子棋; 多線程; 流套接字AbstractAs the rapid development of Internet, Online games have bee an integral part of the universal life, Not only does it make people entertainment, but also to develop people39。s intelligence, as in this paper as the main spoken wele to play smart to tap people39。s talents and head of the clever level.This article is talking about Eclipse development tools and java development language to develop a custom interface Gobang game, the game program can achieve against two people playing chess, and be able to determine intelligence the game winning side and the end of the game or not, to achieve two side game. Through to the software pilation, deepen understanding and gra to the technology above understanding and holding.Key Words:Eclipse。 java。 language。 intelligence。 chess。multiple thread。SocketI哈爾濱商業(yè)大學畢業(yè)設(shè)計(論文)目 錄摘 要 IAbstract II1 緒 論 1 課題背景 1 背景知識 1 五子棋的相關(guān)基礎(chǔ) 1 開發(fā)工具、環(huán)境及技術(shù) 3 JAVA簡介 3 JAVA 編程環(huán)境 62 需求分析 7 數(shù)據(jù)需求 7 功能需求 73 概要設(shè)計 9 程序設(shè)計思想 9 界面設(shè)計 9 算法設(shè)計 9 程序總體設(shè)計 114 詳細設(shè)計 13 客戶端程序?qū)崿F(xiàn) 13 棋盤面板類實現(xiàn) 14 客戶端主類實現(xiàn) 17 clientThread線程類對消息的處理 23 服務(wù)器端程序?qū)崿F(xiàn) 26 處理來自客戶端的連接請求 28 轉(zhuǎn)發(fā)消息 295 程序運行 32 程序的類結(jié)構(gòu) 32 運行步驟 336 程序測試 35結(jié) 論 37參考文獻 38致 謝 391 緒 論 課題背景 背景知識五子棋是起源于中國古代的傳統(tǒng)黑白棋種之一?,F(xiàn)代五子棋日文稱之為“連珠”,英文稱之為“Renju” 、“Gobang”或“FIR”(Five in a Row 的縮寫),亦有“ 連五子”、“五子連”、“串珠” 、“五目”、“五目碰”、“五格”等多種稱謂?! ∥遄悠宀粌H能增強思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。五子棋既有現(xiàn)代休閑的明顯特征“短、平、快”,又有古典哲學的高深學問“陰陽易理”;它既有簡單易學的特性,為廣大人民群眾所喜聞樂見,又有深奧的技巧和高水平的國際性比賽;它的棋文化源淵流長,具有東方的神秘和西方的直觀;既有“場”的概念,亦有“點”的連接。它是中西文化的交流點,是古今哲理的結(jié)晶。五子棋起源于古代中國,發(fā)展于日本,風靡于歐洲。對于它與圍棋的關(guān)系有兩種說法,一說早于圍棋,早在“堯造圍棋”之前,民間就已有五子棋游戲;一說源于圍棋,是圍棋發(fā)展的一個分支。在中國的文化里,倍受人們的青睞。古代的五子棋的棋具與圍棋相同。五子棋大約隨圍棋一起在我國南北朝時先后傳入朝鮮、日本等地。據(jù)日本史料文獻介紹,中國古代的五子棋是經(jīng)由高麗(朝鮮),于1688年至1704年的日本元祿時代傳到日本的。到日本明治32年(公元1899年),經(jīng)過公開征名,“連珠”這一名稱才被正式確定下來,取意于“日月如合壁,五星如連珠”。從此,五子棋經(jīng)過了不斷的改良,例如棋盤由原來的縱橫各十七道改為現(xiàn)行的縱橫各十五道的五子棋專用棋盤等等。二十世紀初,五子棋傳入歐洲并迅速風靡了全歐洲。通過一系列的變化,使五子棋這一簡單的游戲系統(tǒng)化、規(guī)范化,最終成為今天的職業(yè)連珠五子棋,同時也成為一種國際比賽棋[1]。 五子棋的相關(guān)基礎(chǔ)一、五子棋基本規(guī)則[2](1)五子棋行棋時,黑棋先下第一子,由天元開始,后白棋在黑棋周圍的交叉點的落子。接著黑方再以天元中心的25個交叉點的范圍內(nèi)落盤面的第三子,之后黑白雙方相互順序子。(2)最先在棋盤線交點橫向,縱向,斜向形成已方的五個棋子連續(xù)的一方為勝。(3)出現(xiàn)禁手對方指出后將判負,其中包括兩個或兩個以上的活三,活四,長連均稱之為禁手。(4)禁手只對黑棋有效,白棋無禁手。(5)黑方禁手形成時,白方需立即指出,黑方將被判負。若白方未發(fā)現(xiàn)黑方禁手存在而繼續(xù)應(yīng)子,其后指出黑方禁手不能判黑方負。(6)黑方連五與禁手同時形成,因黑方已連成五即黑方已獲勝,故禁手規(guī)則失效。(7)在對局中,在盤上落下的子又拿起來,此動作稱為拔子,若拔子將被判為負。(8)在對局中棋子掉落在棋盤上將被判負。若推子或蹭子,以盤面第一落點為準。用手將棋子推正不算違犯規(guī)則。(9)在對局中,一方自行中止比賽如:中途退場,將被判負。(10)在對局中對方宣布認輸,本局獲勝。(11)超過比賽規(guī)定所用時間限制,將被判為負:正式比賽期間,遲到時間超過比賽容許時間將被判負。(12)如下至最終一子仍不分勝負則定為平局。(13)中盤期間雙方 同意和局提議,判定為平局。二、五子棋常用術(shù)語[3](1)著:也稱“步”。對局中把一個棋子按照規(guī)則放到某一交叉點,稱之為一著棋。一著是否完成有兩種規(guī)則: 在執(zhí)行落子無悔規(guī)則是,以行棋者的手離開棋子為一著已完成; 在執(zhí)行限時規(guī)則時,以行棋者按下棋鐘作為一著已完成。(2)PASS :五子棋中引入的英文名稱,即應(yīng)該行棋的一方主動放棄此次行棋的機會,由對方繼續(xù)行棋。(3)先手:對方必須應(yīng)答的著法,如對方形成活三必須阻止其形成活四。(4)絕對先手:相對先手而言,即形成同色連四或嵌五,對方必須應(yīng)著,就是絕對先手。絕對先手又叫“沖”。(5)VCF:(Victory of Continus Four 的縮寫) 意思是利用連續(xù)沖四取勝之意。利用連續(xù)不斷的沖四或嵌五的絕對先手,制止形成連五獲得勝利的一種方法。在對局接近尾聲或排局解題中一種常見的取勝技巧。(6)追下取勝:是指白棋利用黑棋禁手取勝的戰(zhàn)術(shù)。白1 沖四,迫使黑2 形成“四、四”禁手( 即沖四,活四禁手), 這種取勝方法叫做追下取勝。(7)自由取勝:追下取勝以外的取勝方法,即未利用黑棋禁手戰(zhàn)術(shù)而取勝。(8)一子雙殺:是指對局中一方落子后出現(xiàn)兩個叫殺點即兩個獲勝點,而使對方無法防守的情形。一般是有兩個沖四活三