基于JAVA的五子棋游戲系統(tǒng)設計與實現(xiàn)_第1頁
基于JAVA的五子棋游戲系統(tǒng)設計與實現(xiàn)_第2頁
基于JAVA的五子棋游戲系統(tǒng)設計與實現(xiàn)_第3頁
基于JAVA的五子棋游戲系統(tǒng)設計與實現(xiàn)_第4頁
基于JAVA的五子棋游戲系統(tǒng)設計與實現(xiàn)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

專業(yè)電子信息工程 學生董永杰 摘要,為了滿足沒有網(wǎng)絡同樣能娛樂的要求,許多小游IIISTRACTrdertosatisfytheaboveclientsrequirementsAlargenumberofgamesusually V 1 第一章緒論第一章緒論藍”便是最具說服力的代表,其它像圍棋的“手淡”、既有“場”的概念,亦有“點”的連接。它是中西文化的交流點,是古今哲理的結(jié)晶。五子棋起源于古代中國,發(fā)展于日本,風靡于歐洲。它在不同的國度也有類一直不斷的在思考,五子棋游戲程2 云南民族大學學士學位論文了。修身養(yǎng)性而且富含哲理,具有東方的神秘和西方的直觀,是中西文化的交匯點。許多國家的人對五子棋都有不同的愛稱,例如韓國人把五子棋稱之為“情侶棋”,言下之意是情人之間下五子棋有利于增加情感的交流;歐洲人稱之為“中老年棋”,表示五子棋適合中老年人的生理特點和思維方式;美洲人喜歡將五子棋稱之為“商業(yè)棋”,就是說商人談生意時可邊下棋邊談生意,棋下完了生意也談成了。由此可見,盡管國度不同,語言各異,但人們都可以借助五當前,有40多個國家和地區(qū)都在下五子棋,并有各種規(guī)模和級別的比賽。1989年8月在日本京都、1991年8月在俄羅斯聯(lián)邦的莫斯科、1993年8月在瑞典、1995年8月在愛沙尼亞的塔林分別舉行了第一、愛沙尼亞人之外,其余三屆的冠錦標賽,每兩年舉辦一次,其申國競爭也十分激益增強。同時,五子棋的理論研究與探索也呈現(xiàn)蓬勃發(fā)展的勢頭,從1858年第一部五子棋專著問世以來,目前,全世界有2000多種五子棋的書籍及期刊,分別以日文、俄文、英文、瑞典文及京、上海、天津、云南、浙江、廣東、四、“京空杯”、“奇奇童杯”、“北京第六民族運動會”的五子棋比賽。上海地區(qū)舉辦了3 第一章緒論“上文杯”五子棋大賽。云南省以及其他省市亦舉辦過許多五子棋比賽。所有人們的關注,表明了根埴于中國的五子棋有。五子棋游戲供我們玩,任何游戲平臺那么它就有五子棋在里面,網(wǎng)絡五子棋比賽,在聯(lián)里面玩家人數(shù)排名總會占到很前面,不愧是風靡全來越多,而且還可以以教育孩子的方式來將其嵌套,可以說以后的五子棋游戲會是那么的精彩,那么析與設計,第四章軟件的具體實現(xiàn),第五章總結(jié)與展望,最后由致謝、附錄和參4 云南民族大學學士學位論文第二章五子棋程序相關技術介紹下子,棋盤上將在相應的位置上顯是白方已經(jīng)勝利,并且跳出個游戲信息,這個游戲信息是用來提示當前是黑據(jù)這個提示來相應的下棋,而不會導棋提示上提示哪方時點認斷是否超出規(guī)定的時間,如果超出時間手段以及工具的介紹5 第二章五子棋程序相關技術介紹語言中容易引起錯誤的指針(以引用取代)、運算符重載(operatoroverloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定之JavaJava語言靠群體的力量而非公司的力量”是布式、解釋性、健壯、安全與系統(tǒng)無關、可移種稱為Java字節(jié)碼的中間語言),又是解釋型的(JVM對字節(jié)碼進行解析和運行)。編譯只進行一次,而解釋在每次運行程序時都會進行。編譯后的字節(jié)碼采6 云南民族大學學士學位論文MyEclipseJavaeDevelopmentEnvironment,PDE),這個組件主要針對希望擴展MyEclipse107第二章五子棋程序相關技術介紹核心平臺(啟動MyEclipse10,運行插件)OSGi(標準集束框架)SWT(可移植構件工具包)JFace(文件緩沖,文本處理,文本編輯器)MyEclipse10工作臺(即Workbench,包含視圖(views)、編輯器(editors)、視角(perspectives)、和向?qū)?wizards))MyEclipse0采用的技術是IBM公司開發(fā)的(SWT),這是一種基于Java 在電腦上下棋,而不需要去捷。而且能更好的推廣五子棋于世人,也吸引更多的人喜歡上五子程序在以后的制作中功能越來越強8 云南民族大學學士學位論文第三章五子棋程序分析與設計通過上述的用戶需求,可以得出一個總體的,9第三章五子棋程序分析與設計聯(lián)機對完設計聯(lián)機對完設計游戲提示輸贏的判定落子的設計選擇難度棋盤的設計五子棋程序3.3軟件各個功能的簡要說明子,并被繪制出來,黑子是一棋的時候,棋子都是會落在交點 云南民族大學學士學位論文左上交點為繪制棋子的中心點,那么白方,交替進行,這是就要弄一個互斥事件進去,讓他們交替:當我們落子時,會不小心落到相同位,不能落在相同位置上,需要重新落已經(jīng)繪制過棋子以后,我們就要給一個只能在它為真時才能繪制棋子,否則就顏色子都連在了一起的時候,我們就要判其游戲信息的,用來提示道誰在下,這個功能只要在個提示信息用于顯示到界面全部清空,回復到一開始的時候的認輸?shù)墓δ芫褪窃谂袛噍斱A功能的基信心的時候使用。退出游戲的功能就擇的與電腦下五子棋選擇和那種電腦來難。而且電腦的思維便玩家與玩家相互之間切磋棋藝而設網(wǎng)里面,然后聯(lián)機對戰(zhàn)。當雙行聯(lián)網(wǎng)對戰(zhàn)了。這極大的提高1 第三章五子棋程序分析與設計3.4軟件設計中使用到的JAVA軟件包以及類和方法Javax.swing.JFrame//javax.swing軟件包提供一組“輕量級”(全部Javaawtjavaawt包包含用于創(chuàng)建用戶界面和繪制圖形圖像的olkitgeiDefaultToolkitgetScreenSizewidthToolkitgeiDefaultToolkitgetScreenSizeheight//以上這兩Toolkit子類的名稱;否則將使用特定于平臺的默認JavaxswingJOptionPaneJOptionPane便地彈出要求用戶框 云南民族大學學士學位論文JavaawtimageBufferedImageBufferedImage子類描述具有可訪問圖ImageBufferedImage像數(shù)據(jù)的ColorModel和Rasterel3.5五子棋界面設計 第三章五子棋程序分析與設計棋棋盤的設計棋盤的底色下棋信息顯示設計棋盤位置的擺放設計完畢底色,畫上棋盤線條,把棋加下棋的信息,如:狀態(tài),時間顯示,開始游3.6五子棋算法設計五子棋算法設計 云南民族大學學士學位論文A設設置棋盤邊界設子棋盤底色,并且設置線條顏色初始值為0,且每次運行自動加1否初始值為0,且每次運行自動加1是否大于14是否大于14是找準棋盤線條交叉點畫上天元、天星棋盤完成 第三章五子棋程序分析與設計一般為木質(zhì)顏色,如:蠟黃色)和線條顏色,接下來就可以畫棋盤線條了,執(zhí)行獲取點擊坐獲取點擊坐標尋找橫豎交叉點畫半徑為13的圓填充剛才畫的這個圓是的紅心圓,表示這手是我剛下是否屬于當前在填充圓畫一個小結(jié)束否va 云南民族大學學士學位論文度等級。分別為容易、中等和困難。我們可以沒有被堵住的情況下當然也就是說堵住的情況下當然也就是說三個連珠并且沒有被堵住的情況下當然也就是說 第三章五子棋程序分析與設計開始游戲開始游戲黑方先下(自己)判定是否結(jié)束否分析是否結(jié)束(得到每個點重要否是判斷重要性是否最高是將白子下算法設計的地方否提起下一個點判斷是否結(jié)束是結(jié)束開始下子,系統(tǒng)賦予該棋子(Value)初始值,然后系統(tǒng)自動分“\”“/” 云南民族大學學士學位論文1.當自己已經(jīng)有四個連珠并且至少有一個沒有被其他顏色棋子攔截的情況2.當計算出的對方已經(jīng)有四個連珠并且沒有被攔截住的情況就會去攔截。3.當計算出的自己已經(jīng)有三個連珠并且沒有被攔截的情況下就會繼續(xù)補齊4.當計算出的對方已經(jīng)有三個連珠并且沒有被攔截的情況就會主動去攔當為棋盤出現(xiàn)四三連(三三連)連子的情況時候它不攔截1.當計算出的自己已經(jīng)有四個連珠并且至少有一個沒有被其他顏色棋子攔2.當計算出的對方已經(jīng)有四個連珠并且沒有被攔截住的情況就會去攔截。3.當計算出的自己已經(jīng)有三個連珠并且沒有被攔截的情況下就會繼續(xù)補齊4.當計算出的對方已經(jīng)有三個連珠并且沒有被攔截的情況就會主動去攔5.當計算機即將出現(xiàn)四三連的情況時候,計算機就會自動去補齊。6.當計算機即將出現(xiàn)三三連的情況時候,計算機就會自動去補齊。8.當對方快或者已經(jīng)出現(xiàn)三三連子的時候,電腦就會視優(yōu)先級去攔截一個 第三章五子棋程序分析與設計判斷五子棋輸贏是先進行橫向查找,且設置個初始值0,每次運行加1是否小于4是顏色是否相同否否判斷勝利否是是否小于4先進行橫向查找,且設置個初始值0,每次運行加1是顏色是否相同否否是先進行橫向查找,且設置個初始值0,每次運行加1是否小于4是顏色是否相同是否是是否小于4最后進行反對角查找,且設置個初始值0,每次運行加1是顏色是否相同判斷失敗否 云南民族大學學士學位論文找,步驟和橫向查找類似。若有,則判斷勝利,若盤點位。若有,則證明判斷失敗,若沒有則可以宣和電腦對戰(zhàn),還是和玩家聯(lián)機務器端SocketSocket()建立流式套接字Bind()Socke()配置本地端口和IP建立流式套接字Listen()監(jiān)聽和接受服務器Accecpt()接受服務器請求建接Recv()和Send接受信息和發(fā)送信息ose接字Recv()和Send接受信息和發(fā)送信息Connect()與遠端服務器連接Bind()配置本地端口和ose接字()()第三章五子棋程序分析與設計化。然后等待已注冊好的客戶2云南民族大學學士學位論文第四章軟件的具體實現(xiàn)MouseListener聽的接口。通過這個接口實現(xiàn)對五子棋的每項功能。第四章軟件的具體實現(xiàn)選擇難度(默認為中等難度),難度分為三種:簡單,中等,困難。在玩家選擇云南民族大學學士學位論文游戲的界面,無論是人機五子棋,還是人人五子棋在下棋的動作方面都如圖4-1 第四章軟件的具體實現(xiàn)攔截的情況下就會繼續(xù)補齊1.當計算出的自己已經(jīng)有四個連珠并且至少有一個沒有被其他顏色棋子攔2.當計算出的對方已經(jīng)有四個連珠并且沒有被攔截住的情況就會去攔截。3.當計算出的自己已經(jīng)有三個連珠并且沒有被攔截的情況下就會繼續(xù)補齊4.當計算出的對方已經(jīng)有三個連珠并且沒有被攔截的情況就會主動去攔當為四三連(三三連)連的時候它不攔截攔截的情況下就會繼續(xù)補齊三個連珠并且沒有被攔截的情況就會主動去攔云南民族大學學士學位論文 第四章軟件的具體實現(xiàn)云南民族大學學士學位論文 第四章軟件的具體實現(xiàn)4.5系統(tǒng)測試1)測試的重要性式、完善的開發(fā)過程,可以減少錯誤的引入,但是件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟作。仍然存在一些不正確的看法和錯誤的態(tài)度,這包括:編碼那樣容易取得進展難以給測試人員某種成的測試是非建設性的,甚至是破壞性的,測試中自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能 云南民族大學學士學位論文(2)測試的目的。。4.6測試計劃測試(1)測試目標:系統(tǒng)界面按鈕的可用性。(3)測試步驟:。(4)測試結(jié)果:第四章軟件的具體實現(xiàn)測試(1)測試目標:單機游戲是否正常。(3)測試步驟:(4)測試結(jié)果:云南民族大學學士學位論文試(1)測試目標:聯(lián)網(wǎng)游戲是否正常。(3)測試步驟:(4)測試結(jié)果:3第四章軟件的具體實現(xiàn)4.7測試結(jié)果行的,主要是對系統(tǒng)功能的分類,用不同的步驟,然后進行反復的能的配合度,系統(tǒng)的穩(wěn)定性以及系統(tǒng)的人性化試,系統(tǒng)功能已達到預期的目標,系統(tǒng)是實用 第五章總結(jié)與展望第五章總結(jié)與展望我們學院的老師嚴謹、認真的為每位同學分配事,必須反復斟酌,細心努力。雖然畢 致謝致謝好路。對我的莫大幫助,他的幫助使我的設計過程對我知識的積累,我就不可能 云南民族大學學士學位論文JIcon.java程序:}rorccolorblackwhite}}Qipan.java部分程序:/***構造棋盤和算法**//** 連)(優(yōu)先級第三)連)(優(yōu)先級第四)連(四四連(四四三連(三三三連(三三*/}}} 云南民族大學學士學位論文}}}}}}}}voidinitfor(inti=0;i<row;i++){for(intj=0;j<row;j++){position[i][j]=0;}}} qizi[i][j]=position[i][j];}//畫線for(inti=0;i<15;i++){}//畫標記點//畫棋子for(intj=0;j<row;j++){if(qizi[i][j]==-1){}elseif(qizi[i][j]==1){}}ifcurrentXcurrentY-1){}//顯示勝出情況 云南民族大學學士學位論文}}/***///豎向for(intj=0;j<row-4;j++){if(position[i][j]==1&&position[i][j+1]==1&&position[i][j+2]==1&&position[i][j+3]==1&&position[i][j+4]==1){}if(position[i][j]==-1&&position[i][j+1]==-1&&position[i][j+2]==-1&&position[i][j+3]==-1&&position[i][j+4]==-1){}}//橫行ifor(intj=0;j<row;j++){if(position[i][j]==1&&position[i+1][j]==1&&position[i+2][j]==1&&position[i+3][j]==1&&position[i+4][j]==1){}if(position[i][j]==-1&&position[i+1][j]==-1&&position[i+2][j]==-1&&position[i+3][j]==-1&&position[i+4][j]==-1){}} //正對角線ifor(intj=0;j<row-4;j++){if(position[i][j]==1&&position[i+1][j+1]==1&&position[i+2][j+2]==1&&position[i+3][j+3]==1&&position[i+4][j+4]==1){}if(position[i][j]==-1&&position[i+1][j+1]==-1&&position[i+2][j+2]==-1&&position[i+3][j+3]==-1&&position[i+4][j+4]==-1){}}//反對角線ifor(intj=4;j<row;j++){if(position[i][j]==1&&position[i+1][j-1]==1&&position[i+2][j-2]==1&&position

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論