版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p><b> 第一章:緒論1</b></p><p> 1.1 開發(fā)背景1</p><p><b> 1.2課題意義1</b></p><p> 1.3五子棋游戲的發(fā)展與現(xiàn)狀錯(cuò)誤!未定義書簽。</p
2、><p> 1.4論文的組織結(jié)構(gòu)3</p><p> 第二章: 系統(tǒng)使用工具介紹4</p><p> 2.1 編程語言4</p><p> 2.1.1 java語言介紹4</p><p> 2.1.2 java語言的優(yōu)點(diǎn)4</p><p> 2.2 Eclipse集成平臺(tái)介紹
3、6</p><p> 2.2.1 Eclipse概述6</p><p> 2.2.2 Eclipse的安裝、設(shè)置與啟動(dòng) 6 </p><p> 第三章: 五子棋程序的介紹與規(guī)劃8</p><p> 3.1軟件的基本功能8</p><
4、;p> 3.2軟件的實(shí)現(xiàn)目的9</p><p> 第四章: 系統(tǒng)功能分析與算法分析9</p><p> 4.1 系統(tǒng)功能9</p><p> 4.2 算法分析9</p><p> 第五章: 系統(tǒng)設(shè)計(jì)10</p><p> 5.1 詳細(xì)功能分析10</p><p>
5、 5.2 設(shè)計(jì)思路12</p><p> 第六章: 系統(tǒng)的具體實(shí)現(xiàn)1錯(cuò)誤!未定義書簽。</p><p> 6.1準(zhǔn)備工作1錯(cuò)誤!未定義書簽。</p><p> 6.2建立游戲窗口界面1錯(cuò)誤!未定義書簽。</p><p> 6.3完成下棋的功能17</p><p> 6.4完成判斷勝負(fù)的功能17&l
6、t;/p><p> 6.5完成一些按鈕的功能17</p><p> 第七章: 五子棋功能的演示20</p><p> 7.1軟件的調(diào)試以及改錯(cuò)20</p><p><b> 結(jié) 語21</b></p><p><b> 參考文獻(xiàn)22</b></p&
7、gt;<p><b> 致 謝23</b></p><p><b> 第一章 緒 論</b></p><p><b> 1.1開發(fā)背景</b></p><p> 游戲軟件是當(dāng)今世界發(fā)展最迅速,最有影響力,最有潛力與活力的領(lǐng)域之一?游戲軟件深受廣大青年人喜愛,而且在發(fā)達(dá)國家
8、中老年人也有大部分喜歡游戲的,因此游戲軟件在很大程度上給予絕大部分人精神上的娛樂?第二次世界大戰(zhàn)以后,電子計(jì)算機(jī)技術(shù)得到了突飛猛進(jìn)的發(fā)展?先是由晶體管代替了笨重的真空管,后來出現(xiàn)了集成電路和大規(guī)模集成電路,使電子子計(jì)算機(jī)一代一代實(shí)現(xiàn)更新,同時(shí)軟件技術(shù)也發(fā)展迅速?在美國,集中了許多計(jì)算機(jī)軟件的設(shè)計(jì)人才,他們工作之余,時(shí)常喜愛編一種能與人斗智的“游戲”,以此來鍛煉編程的能力?這種“游戲”花樣繁多,但其特點(diǎn)都是利用計(jì)算機(jī)軟件事先設(shè)計(jì)好的“分析
9、”?“判斷”能力反過來與人較量?由于不斷修改更新,使計(jì)算機(jī)的“智力”水平與人難分高低?到了90年代,游戲軟件已經(jīng)為世界各國的人使用,BLACKISLAND和Blizzard.這兩個(gè)強(qiáng)大的游戲制作組起到了巨大的帶動(dòng)作用,還有中國的洛河工作室在國內(nèi)也起到了巨大作用,他們讓很多很多人喜歡上了游戲軟件,打開了這個(gè)市場(chǎng)。如今游戲軟件產(chǎn)業(yè)已經(jīng)受到了廣泛的關(guān)注,而且游戲軟件有潛力而且吸引人,讓人們?nèi)找尕S富的生活需求得以滿足。</p>&
10、lt;p> 五子棋游戲更是吸引著不同年齡段的人群,無論男女老少都可以玩,都喜歡玩,而當(dāng)前微型計(jì)算機(jī)已經(jīng)是在廣大人群中流行著,用電腦來下五子棋更是一種時(shí)尚。五子棋相傳起源于四千多年前的堯帝時(shí)期,比圍棋的歷史還要悠久,可能早在“堯造圍棋”之前,民間就已有五子棋游戲。有關(guān)早期五子棋的文史資料與圍棋有相似之處,因?yàn)楣糯遄悠宓钠寰吲c圍棋是完全相同的。在上古的神話傳說中有“女媧造人,伏羲做棋”一說,《增山海經(jīng)》中記載:“休輿之山有石焉,名
11、曰帝臺(tái)之棋,五色而文狀鶉卵?!崩钌谱⒁龂汉惔尽端嚱?jīng)》中曰:“棋局,縱橫各十七道,合二百八十九道,白黑棋子,各一百五十枚”??梢?,五子棋頗有淵源。亦有傳說,五子棋最初流行于少數(shù)民族地區(qū),以后漸漸演變成圍棋并在炎黃子孫后代中遍及開來,可以說五子棋是我們的國粹之一了。而當(dāng)前五子棋程序的發(fā)展也非??欤瑥淖畛醯碾p人發(fā)展到人機(jī),然后到現(xiàn)在的網(wǎng)絡(luò)對(duì)戰(zhàn),已經(jīng)受到越來越多人的喜愛和重視。</p><p><b>
12、 1.2課題意義</b></p><p> 人類之所以不斷在進(jìn)步,是因?yàn)槲覀內(nèi)祟愐恢辈粩嗟脑谒伎?,五子棋游戲程序的開發(fā)符合人類進(jìn)步也是促進(jìn)人類進(jìn)步的一大動(dòng)力之一。五子棋游戲程序讓人們方便快捷的可以下五子棋,讓人們?cè)诤螘r(shí)都能通過下棋來提高邏輯思維能力,同時(shí)也培養(yǎng)兒童的興趣以及愛好,讓孩子更加聰明。同時(shí),五子棋游戲程序的開發(fā)也使得五子棋這個(gè)游戲得到了廣泛的推廣,讓世界各地的人們知道五子棋,玩上五子棋,這
13、已經(jīng)不是局限。五子棋游戲程序使得越來越多的人喜歡上了五子棋,熱愛下五子棋,它是具有很好的帶動(dòng)性的。隨著互聯(lián)網(wǎng)絡(luò)的不斷普及,越來越多的人可以在網(wǎng)絡(luò)上就能夠與他人下五子棋了。</p><p> 1.3五子棋游戲的發(fā)展與現(xiàn)狀</p><p> 目前,連珠這一棋類運(yùn)動(dòng)已迅速在國際上發(fā)展起來。外國人都十分看好這一不起眼的智力游戲,并認(rèn)為五子棋不僅能提高思維、開發(fā)智力、手腦并用、修身養(yǎng)性 而且富含
14、哲理,具有東方的神秘和西方的直觀,是中西文化的交匯點(diǎn)。許多國家的人對(duì)五子棋都有不同的愛稱,例如韓國人把五子棋稱之為“情侶棋”,言下之意是情人之間下五子棋有利于增加情感的交流;歐洲人稱之為“中老年棋”,表示五子棋適合中老年人的生理特點(diǎn)和思維方式;美洲人喜歡將五子棋稱之為“商業(yè)棋”,就是說商人談生意時(shí)可邊下棋邊談生意,棋下完了生意也談成了。由此可見,盡管國度不同,語言各異,但人們都可以借助五子棋這一簡(jiǎn)單而又深?yuàn)W的棋藝進(jìn)行交流、比賽,增進(jìn)友誼
15、。</p><p> 1988年8月8日,國際連珠聯(lián)盟(RIF)由日本、俄羅斯、瑞典、亞美尼亞、阿塞拜疆、愛沙尼亞、拉脫維亞、白俄羅斯等8個(gè)成員國在瑞典宣告創(chuàng)立,中國于 1996年正式加入國際連珠聯(lián)盟,現(xiàn)在全世界已有近50個(gè)國家和地區(qū)成為國際連珠聯(lián)盟的正式會(huì)員。職業(yè)連珠的世界錦標(biāo)賽從1989年起每?jī)赡昱e辦一次,現(xiàn)已舉辦了十一屆。日本目前擁有自己的五子棋職業(yè)棋手,并且對(duì)五子棋技術(shù)的研究也相當(dāng)普遍和全面,就水平也正
16、在日益增強(qiáng)。同時(shí),五子棋的理論研究與探索也呈現(xiàn)蓬勃發(fā)展的勢(shì)頭,從1858年第一部五子棋專著問世以來,目前,全世界有2000多種五子棋的書籍及期刊,分別以日文、俄文、英文、瑞典文及中文出版發(fā)行。五子棋在我國的北京、上海、天津、云南、浙江、廣東、四川、湖北、遼寧、新疆、河北等省(區(qū))市都有很大的發(fā)展。北京多次舉辦了北京地區(qū)的五子棋賽,如“思曼杯”、“京空杯”、“奇奇童杯”、“北京第六屆民族團(tuán)結(jié)杯”和“北京第四豈民族運(yùn)動(dòng)會(huì)”的五子棋比賽。上海
17、地區(qū)舉辦了“上文杯”五子棋大賽。云南省以及其他省市亦舉辦過許多五子棋比賽。所有這些賽事都越來越多地吸引了無數(shù)人們的關(guān)注,表明了根植于中國的五子棋有著廣泛的群眾基礎(chǔ),是群</p><p> 1.4論文的組織結(jié)構(gòu)</p><p> 第二章 系統(tǒng)使用工具介紹</p><p> 本章節(jié)主要介紹了本系統(tǒng)使用的編程工具Eclipse,同時(shí)簡(jiǎn)單的介紹了Java這一編程語言,
18、以及Java語言相比其它編程語言所具有的優(yōu)勢(shì)。</p><p><b> 2.1 編程語言</b></p><p> 2.1.1 Java語言介紹</p><p> 現(xiàn)代技術(shù)的發(fā)展,尤其是網(wǎng)絡(luò)技術(shù),給現(xiàn)代企業(yè)帶來了許多新的機(jī)遇和挑戰(zhàn),如改善客戶服務(wù)、全球化和信息檢索等,這些在技術(shù)上反映為信息的獲取、系統(tǒng)管理、系統(tǒng)集成、新技術(shù)的開發(fā)、Int
19、ernet、Intranet等等與商業(yè)的結(jié)合。而這些要求一個(gè)隨處可用的開放的結(jié)構(gòu)和在不同的平臺(tái)之間低成本的信息傳遞方式,Java正好滿足這些要求。</p><p> Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言(以下簡(jiǎn)稱Java語言)和Java平臺(tái)的總稱。用Java實(shí)現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺(tái)、動(dòng)感的Web、I
20、nternet計(jì)算。從此,Java被廣泛接受并推動(dòng)了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java applet。另一方面,Java技術(shù)也不斷更新。Java平臺(tái)由Java虛擬機(jī)(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡(jiǎn)稱API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或
21、操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java應(yīng)用程序就可運(yùn)行?,F(xiàn)在Java平臺(tái)已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。Java應(yīng)用編程接口已經(jīng)從1.1.x版發(fā)展到1.2版。目前常用的Java平臺(tái)基于Java1.2。</p><p> Java語言是一個(gè)支持網(wǎng)絡(luò)計(jì)算的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。Java語言吸收了Smalltalk語言和C++語言的優(yōu)點(diǎn),并增加了其它特性
22、,如支持并發(fā)程序設(shè)計(jì)、網(wǎng)絡(luò)通信、和多媒體數(shù)據(jù)控制等。</p><p> 2.1.2 Java語言的優(yōu)點(diǎn)</p><p> Java技術(shù)取得今天這樣的成就,依賴于這門技術(shù)的先進(jìn)性,Java技術(shù)具有下列優(yōu)點(diǎn):①簡(jiǎn)單、健壯:許多高級(jí)語言都要由程序員進(jìn)行指針運(yùn)算和存儲(chǔ)器管理。這項(xiàng)工作即復(fù)雜又容易出錯(cuò)。Java不需要程序員進(jìn)行指針運(yùn)算和存儲(chǔ)器管理,簡(jiǎn)化了設(shè)計(jì),減少了出錯(cuò)的可能性。②面向?qū)ο螅篔a
23、va是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。與面向過程的語言相比,面向?qū)ο蟮恼Z言更能反映人類對(duì)世界的認(rèn)識(shí)和處理模式,具有良好的代碼重用性。處理復(fù)雜、龐大而且不斷變化的信息系統(tǒng),必須使用面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。③分布式:目前,在所有軟件產(chǎn)品中,僅供單個(gè)計(jì)算機(jī)使用的單機(jī)版軟件所占的比例越來越小。大多數(shù)軟件都可以運(yùn)行在網(wǎng)絡(luò)環(huán)境中。Java擁有一個(gè)網(wǎng)絡(luò)協(xié)議對(duì)象庫(TCP/IP,HTTP,FTP等),可以象訪問當(dāng)?shù)匚募粯釉L問Internet上的對(duì)象。④改進(jìn)的
24、解釋性:為彌補(bǔ)解釋語言速度較慢的不足,Java采用預(yù)編譯的辦法,將原程序生成字節(jié)代碼,減輕運(yùn)行時(shí)的解釋工作。另一方面,有些Java運(yùn)行環(huán)境采用Just-In-Time(JIT)編譯器將字節(jié)代碼編譯成機(jī)器碼直接運(yùn)行,這種運(yùn)行環(huán)境對(duì)于重復(fù)執(zhí)行的服務(wù)器端軟件特別有效,可以達(dá)到C語言的速度。⑤安全:J</p><p> Java安裝配置:各平臺(tái)安裝程序可以到SUN的網(wǎng)站上下載,在安裝完成后應(yīng)該進(jìn)行配置,通常集成開發(fā)環(huán)境
25、(IDE)自帶JDK或進(jìn)行了自動(dòng)配置,如果我們通過控制臺(tái)編譯或運(yùn)行Java程序則必須手動(dòng)配置。</p><p> JDK: 是Java開發(fā)工具包(J2SE Software Development Kit)的縮寫,用Java語言編寫applet小程序和應(yīng)用程序的軟件開發(fā)環(huán)境,Java開發(fā)者應(yīng)該安裝JDK,并且通常JDK中已包含一個(gè)JRE拷貝。下面是JDK里一些文件的說明。</p><p>
26、; bin:java常用開發(fā)工具目錄,例如javac,java,jar等工具。</p><p> demo: sun提供的一些用于java開發(fā)的示范例子,如有關(guān)applets,jfc,plugin等。</p><p> include: Java提供用于c/c++調(diào)用的.h文件。</p><p> jre: 對(duì)應(yīng)版本的java運(yùn)行環(huán)境文件。</p>
27、;<p> sample: java案例。</p><p> lib: java類庫目錄。</p><p> JRE: 是Java運(yùn)行環(huán)境 (Java Runtime Enviroment) 的縮寫。它基本上就和Java虛擬機(jī)是同一個(gè)概念,運(yùn)行Java程序的應(yīng)該安裝JRE。</p><p> Windows環(huán)境變量:應(yīng)設(shè)置的環(huán)境變量包括:JAV
28、A_HOME, PATH, CLASSPATH。</p><p> 假設(shè)J2DK安裝在“C:\Program Files\Java”,環(huán)境變量可設(shè)置為:</p><p> PATH = C:\Program Files\Java\jdk1.6.0_20\bin;</p><p> CLASSPATH=.;C:\ProgramFiles\Java\jdk1.6.
29、0_20\lib\tools.jar;C:\Program Files\Java\jdk1.6.0_20\jre\lib\rt.jar 。</p><p> 2.2 Eclipse集成平臺(tái)介紹</p><p> 2.2.1 Eclipse的概述</p><p> Eclipse是IBM花巨資開發(fā)的IDE集成開發(fā)環(huán)境(Integrated Development
30、 Environment)。其前身是IBM的Visual Age for Java(VA4J)。Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境是可擴(kuò)展的體系結(jié)構(gòu),可以集成不同軟件開發(fā)供應(yīng)商開發(fā)的產(chǎn)品,將他們開發(fā)的工具和組件加入到Eclipse平臺(tái)中。另外Eclipse還附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development To
31、ols,JDT)。</p><p> 2.2.2 Eclipse的安裝、設(shè)置與啟動(dòng)</p><p> Eclipse的安裝非常簡(jiǎn)單,僅需對(duì)下載后的壓縮文件進(jìn)行解壓縮即可完成操作。</p><p> 安裝Eclipse開發(fā)工具</p><p> 可以到官網(wǎng)網(wǎng)站www.eclipse.org中下載3.2.1版Eclipse開發(fā)工具。<
32、;/p><p> 對(duì)下載名稱為eclipse-SDK-3.2.1-win32.zip的Eclipse軟件進(jìn)行解壓縮。</p><p> 為了便于管理,將解壓縮后的eclipse文件夾剪切到D\Program Files文件夾中。此時(shí)如果運(yùn)行D\Program Files\eclipse\里的eclipse.exe可執(zhí)行文件,便可啟動(dòng)英文版的Eclipse開發(fā)工具。</p>&
33、lt;p> Eclipse的國際化</p><p> 完成Eclipse的安裝后,從初學(xué)者的角度考慮,如果開發(fā)工具是中文版的,則更適合我們的語言習(xí)慣,在學(xué)習(xí)和使用的過程中回輕松很多,另外一點(diǎn)就是可以方便地查閱中文教程和幫助信息。為此可以到Eclipse網(wǎng)站上下載多國語言包,從而實(shí)現(xiàn)Eclipse操作界面的國際化,進(jìn)而用更適合我們學(xué)習(xí)的中文語言來顯示Eclipse程序界面。</p><
34、p> 因?yàn)槲覀冇弥形牡模韵旅婢徒榻B一下使Eclipse操作界面漢化的具體步驟如下。</p><p> (1) 到Eclipse官方網(wǎng)站下載與Eclipse相匹配的中文語言包。與上文所安裝的eclipse-SDK-3.2.1版本相匹配的語言包BabelLanguagePack-eclipse-zh_3.4.0.v20090620043401.zip。</p><p> ?。?)
35、 對(duì)下載名稱為 BabelLanguagePack-eclipse-zh_3.4.0.zip 軟件進(jìn)行解壓。</p><p> (3) 解壓縮后包含一個(gè)eclipse文件夾,該文件夾中包含有features和plugins兩個(gè)文件夾。</p><p> ?。?) 將features和plugins兩個(gè)文件夾復(fù)制到所安裝的eclipse根目錄中,即D\Program Files\ecli
36、pse文件夾中,替換其中對(duì)應(yīng)的文件夾。</p><p> ?。?) 這樣即可實(shí)現(xiàn)Eclipse的中文語言操作界面。</p><p> 3. 啟動(dòng)Eclipse</p><p> 完成了Eclipse多國語言包的配置,接下來可以啟動(dòng)Eclipse。Eclipse的啟動(dòng)很簡(jiǎn)單,直接在Eclipse的安裝文件夾中運(yùn)行eclipse.exe文件即可。具體步驟如下。<
37、;/p><p> 運(yùn)行D\Program Files\eclipse\eclipse.exe文件。</p><p> Eclipse啟動(dòng)后,在彈出的【工作空間啟動(dòng)程序】對(duì)話框的【工作空間】文本框中輸入“D:\testdemo”,然后單擊【確定】按鈕。</p><p> 單擊【確定】按鈕,系統(tǒng)將出現(xiàn)Eclipse的歡迎界面,其中包含【概述】、【新增內(nèi)容】、【樣本】、
38、【教程】以及工作臺(tái)相關(guān)按鈕和菜單欄等。</p><p> 第三章 五子棋程序的介紹與規(guī)劃</p><p> 3.1軟件的基本功能</p><p> 該五子棋游戲的棋盤是一個(gè)十九行十九列的五子棋棋盤,縱橫線路為淺色,構(gòu)成361個(gè)交叉點(diǎn)。棋盤的正中為“天元”,周圍對(duì)稱的4點(diǎn)為“星位”。黑子181枚,白子180枚,共361枚棋子。五子棋采用簡(jiǎn)易的規(guī)則,在對(duì)局開始時(shí),
39、先由執(zhí)黑棋的一方將一枚棋子落在天元點(diǎn)上,然后由執(zhí)白棋一方在黑棋的周圍交叉點(diǎn)上下子。在棋盤上面在對(duì)應(yīng)位置通過點(diǎn)擊鼠標(biāo)左鍵下子,棋盤上將在相應(yīng)的位置上顯示棋子,并且棋子在橫縱交點(diǎn)上。可以自動(dòng)判斷游戲是否結(jié)束,是否黑方或者是白方已經(jīng)勝利,并且在文本框里顯示信息來提示玩家。在游戲棋盤上方會(huì)有一個(gè)游戲信息,這個(gè)游戲信息是用來提示當(dāng)前是黑白雙方的哪一方下子,玩家可以根據(jù)這個(gè)提示來相應(yīng)的下棋,而不會(huì)導(dǎo)致不清楚輪到哪一方下棋。當(dāng)然連接服務(wù)器的客戶可以在
40、任何時(shí)候進(jìn)行聊天,可以和所有人一起聊,也可以和某個(gè)單獨(dú)的人聊天。在客戶可以創(chuàng)建游戲,加入游戲,放棄游戲,關(guān)閉游戲界面,以及聊天功能。</p><p><b> 3.2開發(fā)運(yùn)行環(huán)境</b></p><p> 中心處理器:雙核1.6GHZ;</p><p><b> 內(nèi)存:2G;</b></p><p
41、><b> 硬盤:250G;</b></p><p> 操作系統(tǒng):WIN7;</p><p> 開發(fā)工具:Eclipse;</p><p> 編程語言:JAVA。</p><p> 3.3軟件的實(shí)現(xiàn)目的</p><p> 五子棋游戲程序所要實(shí)現(xiàn)的目的是讓我們可以在電腦上下棋,而不
42、需要去買,可以隨時(shí)玩,方便快捷。而且能更好的推廣五子棋于世界各地,此軟件也在于提供給愛好五子棋的人,也吸引更多的人喜歡上五子棋,也具有很大很大的商業(yè)價(jià)值。使五子棋游戲程序在以后的制作中功能越來越強(qiáng)大,外觀越來越好看。當(dāng)然我現(xiàn)在做的是雙人網(wǎng)絡(luò)五子棋,為以后實(shí)現(xiàn)人機(jī)對(duì)戰(zhàn)打基礎(chǔ),現(xiàn)在隨著智能手機(jī)的普及,我們可以將這些游戲裝入手機(jī),這樣就能隨時(shí)隨地的玩五子棋了。</p><p> 第四章 系統(tǒng)功能分析與算法分析<
43、/p><p><b> 4.1 系統(tǒng)功能</b></p><p> 網(wǎng)絡(luò)對(duì)戰(zhàn)主要是基于TCP/IP的網(wǎng)絡(luò)協(xié)議,采用服務(wù)器-客戶端的網(wǎng)絡(luò)架構(gòu)模式,允許網(wǎng)絡(luò)上的多臺(tái)機(jī)器(可能是兩臺(tái)機(jī)器)同時(shí)運(yùn)行,一臺(tái)用作服務(wù)器,始終處理網(wǎng)絡(luò)上要求它進(jìn)行服務(wù)的請(qǐng)求。如果有機(jī)器請(qǐng)求與它進(jìn)行連接,用作服務(wù)器的機(jī)器接受之后就可以進(jìn)行相互之間的通信。使用Socket進(jìn)行編程,通過事件監(jiān)聽器,落子的
44、坐標(biāo)值,通過流操作,將棋子的坐標(biāo)發(fā)送過去,然后進(jìn)行雙方棋盤的更新。然后,再根據(jù)贏的條件判定雙方的勝負(fù)。</p><p><b> 4.2 算法分析</b></p><p> 在程序中數(shù)據(jù)傳輸主要采用Socket套接字進(jìn)行數(shù)據(jù)傳輸。</p><p> 在程序中用到的算法主要是對(duì)五子棋的判斷輸贏:在橫、豎、左斜、右斜任何一個(gè)方向一方連子不小于
45、5個(gè)即可獲勝。判斷的方法很直接,先判斷棋子的顏色,再逐個(gè)方向去判斷,在每個(gè)方向進(jìn)行判定時(shí)又分為正方向和負(fù)方向,對(duì)每一個(gè)方向的判斷都很類似,下面我以圖形結(jié)合文字描述一個(gè)方向(豎直方向)的:</p><p> 首先如圖1,加入我們剛點(diǎn)擊鼠標(biāo)下的是黑子。</p><p><b> 圖1</b></p><p><b> 第五章 系統(tǒng)設(shè)
46、計(jì)</b></p><p> 本章主要介紹了本系統(tǒng)各功能模塊的設(shè)計(jì)思路,詳細(xì)的分析了本系統(tǒng)的功能。</p><p> 5.1 詳細(xì)功能分析</p><p><b> 系統(tǒng)的程序流程圖:</b></p><p> 基于客戶機(jī)/服務(wù)器的Socket通信模型如下圖所示:</p><p&g
47、t;<b> 詳細(xì)功能:</b></p><p> 1.用戶可以創(chuàng)建游戲,加入游戲,放棄游戲。</p><p><b> 2.聊天功能</b></p><p> 聊天功能是建立一個(gè)聊天的界面,添加到游戲界面中,在網(wǎng)絡(luò)對(duì)弈時(shí),通過Socket進(jìn)行連接,先從界面上讀取用戶所寫的話,在通過流操作,將話發(fā)送給對(duì)方,然后對(duì)方
48、通過Socket接收到,然后讀出話來,同時(shí)更新聊天的面板,反之,也是一樣進(jìn)行。</p><p><b> 3.網(wǎng)絡(luò)對(duì)戰(zhàn)</b></p><p> 需要編寫一個(gè)生成網(wǎng)絡(luò)對(duì)戰(zhàn)的棋盤類。其次還需要一個(gè)網(wǎng)絡(luò)對(duì)弈的線程類。網(wǎng)絡(luò)對(duì)戰(zhàn)主要是同過Socket進(jìn)行連接。編寫一個(gè)具有Socket的客戶端類,在該類中進(jìn)行相關(guān)的流操作。網(wǎng)絡(luò)對(duì)戰(zhàn)開始時(shí),調(diào)用線程類,線程類再調(diào)用客戶端類,然
49、后就可以連接起來了。在連接時(shí),注意判斷哪個(gè)玩家創(chuàng)建了游戲,哪個(gè)玩家加入游戲。</p><p><b> 5.2 設(shè)計(jì)思路</b></p><p> 網(wǎng)絡(luò)對(duì)戰(zhàn)設(shè)計(jì),網(wǎng)絡(luò)對(duì)戰(zhàn)是使用socket進(jìn)行編程的,通過socket,可以將倆臺(tái)不同的計(jì)算機(jī)連接起來。當(dāng)雙方進(jìn)行對(duì)弈時(shí),需要同時(shí)更新雙方的棋盤??梢酝ㄟ^流操作,將棋子的坐標(biāo)發(fā)送給對(duì)方,然后通過線程操作,更新雙方的棋盤。
50、</p><p><b> 設(shè)計(jì)思路:</b></p><p> 第一步,客戶端連接服務(wù)器。</p><p> 第二步,其中有客戶端創(chuàng)建游戲。</p><p> 第三步,另外等待的客戶端可以連接游戲,如果連接成功則開始游戲,由創(chuàng)建游戲的一方寫下黑子,如果連接不成功可以試著連接其他客戶端。</p>
51、<p> 第四步,正在游戲的雙方我下一顆棋進(jìn)行一次判斷,如果某個(gè)客戶端獲勝則開始下一局,如果不想繼續(xù)游戲可以點(diǎn)擊放棄游戲或者直接關(guān)閉游戲見面。</p><p> 第五步,連接到服務(wù)器的客戶端可以相互聊天,可以同時(shí)和所有人聊天也可以和某個(gè)客戶端聊天。</p><p> 第六章 系統(tǒng)的具體實(shí)現(xiàn)</p><p> 本章主要介紹了本系統(tǒng)的各個(gè)功能的實(shí)現(xiàn)以及
52、部分核心代碼。</p><p><b> 6.1 主界面</b></p><p><b> 服務(wù)器端的主界面</b></p><p><b> 客戶端的主界面</b></p><p> 主界面主要是集合了五個(gè)面板,分別是:控制面板(controlPad.java)、游戲
53、面板(chessThread.java)、輸入面板(inputPad.java)、用戶面板(userPad.java)、聊天顯示面板(chatPad.java)。</p><p> 主界面實(shí)現(xiàn)如圖所示:</p><p> 第七章五子棋的功能演示</p><p><b> 下棋功能:</b></p><p> 首先
54、我們運(yùn)行客戶端以后,我們可以連接主機(jī)、放棄游戲,但是不能創(chuàng)建游戲、加入游戲、放棄游戲。當(dāng)我們?cè)诜?wù)器IP后的文本框輸入服務(wù)器的IP時(shí)候點(diǎn)擊連接主機(jī),這時(shí)運(yùn)行的結(jié)果如下圖1</p><p><b> 聊天功能:</b></p><p><b> 結(jié) 論</b></p><p> 本系統(tǒng)主要研究了單機(jī)游戲,網(wǎng)絡(luò)對(duì)戰(zhàn),
55、人機(jī)對(duì)戰(zhàn)三個(gè)方面,單機(jī)游戲主要是靠線程的操作,網(wǎng)絡(luò)對(duì)戰(zhàn)需要對(duì)Socket編程要很好的理解,線程也是比不可少的,人機(jī)對(duì)戰(zhàn)需要編寫人工智能算法,同時(shí)。也需要對(duì)Swing要有很深的理解。</p><p> 在實(shí)現(xiàn)本系統(tǒng)過程中,碰到以下問題:一 Swing界面的排版問題,二 Socket編程時(shí)的流操作,三 人工智能算法的編寫。為了解決以上的問題,人工智能算法方面,我主要參考網(wǎng)絡(luò)方面的一些內(nèi)容,Swing界面的排版以及流
56、操作主要通過學(xué)習(xí)《Java編程思想》以及上網(wǎng)求幫助進(jìn)行了解決。</p><p> 通過對(duì)五子棋游戲的編寫,使自己對(duì)java語言有了更深的了解。一個(gè)主類通過接口調(diào)用其他類,從而來完成一個(gè)完整程序的編寫外。更加熟悉在MyEclipse集成環(huán)境下對(duì)Java程序的編寫。</p><p> 同時(shí),程序在編寫完畢之后還有很多地方需要完善。例如:可以添加菜單來控制各項(xiàng)功能;也可以添加音樂;也可以把游
57、戲改成交互式游戲,用戶可以自己自主的暫停,可以悔棋??梢赃M(jìn)行視頻對(duì)戰(zhàn),同時(shí)對(duì)戰(zhàn)時(shí),還可以進(jìn)行語音聊天,支持一些下載功能等等。</p><p><b> 致 謝</b></p><p> 本文是在老師精心指導(dǎo)和大力支持下完成的。老師以其嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度、崇高的敬業(yè)精神、兢兢業(yè)業(yè)、孜孜以求的工作作風(fēng)對(duì)我產(chǎn)生重要影響。他淵博的知識(shí)、開闊的視野和敏銳的思維給了我深深
58、的啟迪。同時(shí),在此次畢業(yè)設(shè)計(jì)過程中我也學(xué)到了許多了關(guān)于計(jì)算機(jī)方面的知識(shí),編程能力有了很大的提高。 </p><p> 另外,還要感謝同學(xué)對(duì)我的無私幫助,使我得以順利完成論文。最后,再次對(duì)關(guān)心、幫助我的老師和同學(xué)表示衷心地感謝。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] (英) Quentin Charatan,
59、 Aaron Kans Java大學(xué)教程 清華大學(xué)出版社,2008年09月第1版</p><p> [2]聶哲主編. Java面向?qū)ο蟪绦蛟O(shè)計(jì).北京:高等教育出版社,2008年11月第2版</p><p> [3] 榮欽科技編著. Java 2游戲設(shè)計(jì).北京:清華大學(xué)出版社,2004年11月第一版 </p><p> [4]張海藩編著
60、軟件工程導(dǎo)論 北京:清華大學(xué)出版社,2008年2月第5版</p><p> [5](美)Bruce Eckel著 陳昊鵬 譯 Java編程思想,機(jī)械工業(yè)出版社, 2007年第四版</p><p> [6]朱福喜 黃昊 編著 Java項(xiàng)目開發(fā)與畢業(yè)設(shè)計(jì)指導(dǎo),清華大學(xué)出版社,2008年6月第一版 </p><p> [7] 印昊 JAVA與面向?qū)ο蟪绦蛟O(shè)計(jì) 高等教
61、育出版社 ,2004年4月</p><p> [8] 李尊朝 JAVA語言程序設(shè)計(jì) 中國鐵道出版社;2004年9月</p><p> [9] 袁海燕.JAVA應(yīng)用程序設(shè)計(jì)100例 人民郵電出版社,2005年5月.</p><p> [10] 薛為民. JAVA應(yīng)用教程 清華、北交大出版社 ,2005年9月</p><p> [1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)畢業(yè)論文
- 畢業(yè)論文——五子棋游戲設(shè)計(jì)
- 基于java的五子棋游戲的設(shè)計(jì)——畢業(yè)論文
- 畢業(yè)論文---網(wǎng)絡(luò)五子棋游戲設(shè)計(jì)
- 五子棋畢業(yè)論文
- 基于java五子棋游戲開發(fā)
- java五子棋畢業(yè)設(shè)計(jì)論文
- 基于java的五子棋游戲設(shè)計(jì)
- java課程設(shè)計(jì)--五子棋游戲
- 五子棋畢業(yè)論文-html開發(fā)五子棋的原型設(shè)計(jì)
- java課程設(shè)計(jì)-五子棋游戲
- 基于java的五子棋小游戲
- java五子棋畢業(yè)設(shè)計(jì)--java五子棋對(duì)弈程序的設(shè)計(jì)與實(shí)現(xiàn)
- 五子棋游戲的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文】
- 基于Java的五子棋游戲開題.docx
- 五子棋對(duì)戰(zhàn)游戲
- java五子棋實(shí)習(xí)報(bào)告
- 五子棋游戲畢業(yè)設(shè)計(jì)
- 基于java的五子棋游戲的設(shè)計(jì)
- 基于android的五子棋游戲的設(shè)計(jì)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論