![五子棋畢業(yè)論文-1_第1頁](http://file4.renrendoc.com/view/33ec31fd27814d53c58433c6491f62f4/33ec31fd27814d53c58433c6491f62f41.gif)
![五子棋畢業(yè)論文-1_第2頁](http://file4.renrendoc.com/view/33ec31fd27814d53c58433c6491f62f4/33ec31fd27814d53c58433c6491f62f42.gif)
![五子棋畢業(yè)論文-1_第3頁](http://file4.renrendoc.com/view/33ec31fd27814d53c58433c6491f62f4/33ec31fd27814d53c58433c6491f62f43.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
五子棋畢業(yè)論文abstractAsapuzzlegame,gobangcandevelopthethinkingabilityandintelligenceofplayers,whichisinterestingandabsorbing。Theversionofthissoftware,includestwokindsofpatterns,standalonemodeandnetworkmode。Theformerusesagame-treesearchalgorithm,whichcanonlypredictafollow-upmoveaftercalculation。Moreover,thenetworkmodeneedstobebroughtonline,inotherwords,firstneedaplayerinacomputerstartgameastheserver-side,thentheotherentertheserversiptoconnectandjoingameinanothercomputerastheclient.Bothmodessupportundofunctions,andthenetworkmodehasdrawandgiving-upfunction。Whilenetworkgamingoneplayersendthecoordinatemessageofpiecesreceivedbyanother,whichcallsfunctionstodealwithmessage。Beyondthat,thegamehasalsobackgroundmusicandchatfunction。五子棋摘要五子棋是一種益智游戲,它能加強(qiáng)玩家的思維能力,提高智力,而且趣味橫生,引人入勝。該版本的五子棋設(shè)置了兩類形式,單機(jī)形式和網(wǎng)絡(luò)形式。游戲中根據(jù)網(wǎng)絡(luò)連接標(biāo)志來判定當(dāng)前是網(wǎng)絡(luò)對戰(zhàn)還是人機(jī)對戰(zhàn)。人機(jī)對戰(zhàn)形式使用的是簡單的博弈樹搜索算法,即只向前搜索一步,僅能預(yù)測到下一步會發(fā)生什么情況。網(wǎng)絡(luò)對戰(zhàn)形式中一方先建立游戲,作為游戲的服務(wù)器端,對方輸入服務(wù)器IP后參加游戲,作為客戶端。兩種形式都有悔棋功能,網(wǎng)絡(luò)對戰(zhàn)還有認(rèn)輸、和棋請求的功能。發(fā)送五子棋消息主要發(fā)送落子坐標(biāo),對方接遭到消息后會調(diào)用相應(yīng)的函數(shù)處理接收的消息。該游戲還設(shè)置了聲音背景,當(dāng)玩家落子時會有落子的聲音,當(dāng)玩家勝了或輸了都會有背景聲音。另外該游戲還設(shè)置了聊天功能,戰(zhàn)績統(tǒng)計(jì)等基本游戲功能,以方便對弈雙方聊天和查看戰(zhàn)績記錄。關(guān)鍵詞人機(jī)對戰(zhàn),網(wǎng)絡(luò)對戰(zhàn),算法,消息目錄第一章緒論(3)1.1五子棋介紹(3)1.2開發(fā)背景(4)1.3開發(fā)環(huán)境及運(yùn)行環(huán)境(5)1.3.1開發(fā)環(huán)境(5)1.3.2運(yùn)行環(huán)境(5)第二章邏輯架構(gòu)與設(shè)計(jì)(6)2.1棋盤類(7)2.1.1棋盤類主要成員變量講明(7)2.1.2棋盤類主要成員函數(shù)講明(8)2.2游戲形式類(9)2.2.1游戲形式類主要成員變量講明(10)2.2.2游戲形式類主要成員函數(shù)講明(10)第三章消息機(jī)制(13)3.1消息機(jī)制的架構(gòu)(13)3.2各種消息講明(13)3.2.1落子消息——MSG_PUTSTEP(13)3.2.2悔棋消息——MSG_BACK(13)3.2.3同意悔棋消息——MSG_AGREEBACK(14)3.2.4拒絕悔棋消息——MSG_REFUSEBACK(14)3.2.5和棋消息——MSG_DRAW(14)3.2.6同意和棋消息——MSG_AGREEDRAW(14)3.2.7拒絕和棋消息——MSG_REFUSEDRAW(14)3.2.8認(rèn)輸消息——MSG_GIVEUP(15)3.2.9聊天消息——MSG_CHAT(15)3.2.10對方信息消息——MSG_INFORMATION(15)第四章人機(jī)對戰(zhàn)主要算法(16)4.1落子時能否構(gòu)成五子連珠的算法(16)4.1.1判定水平方向能否構(gòu)成五子連珠(16)4.1.2判定豎直方向能否構(gòu)成五子連珠(17)4.1.3判定左下方向能否構(gòu)成五子連珠(17)4.1.4判定右下方向能否構(gòu)成五子連珠(18)4.2計(jì)算機(jī)落子時的算法[6](19)4.2.1計(jì)算落子時的所有獲勝可能性(19)4.2.2落子后計(jì)算得分(19)4.2.3查找棋盤上的空位置(20)4.2.4為每一個能夠落子的位置打分(21)4.2.5防守策略(21)4.2.6選取最佳落子(21)總結(jié)(23)第一章緒論1.1五子棋介紹五子棋是起源于中國古代的傳統(tǒng)黑白棋種之一。它不僅能加強(qiáng)思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。五子棋最先發(fā)展于日本,流行于歐美。它既有當(dāng)代休閑的明顯特征,又有古典哲學(xué)的高深學(xué)問;它既有簡單易學(xué)的特性,為人民群眾所喜聞樂見,又有深奧的技巧和高水平的國際性比賽。傳統(tǒng)五子棋的棋具與圍棋一樣,棋子分為黑白兩色,棋盤為15×15,棋子放置于棋盤線穿插點(diǎn)上。兩人對局,各執(zhí)一色,輪流下一子,先將橫、豎或斜線的5個或5個以上同色棋子連成不間斷的一排者為勝。目前五子棋游戲有兩種形式,一種是網(wǎng)絡(luò)五子棋游戲,一種是單機(jī)五子棋游戲。網(wǎng)絡(luò)五子棋編程有兩種實(shí)現(xiàn)方式:一種是基于C/S(Client/Server即C/S)形式;另一種是基于B/S(Brower/Server即B/S)形式。C/S程序具有很好的交互性,功能很強(qiáng)大,但是客戶端必須安裝客戶端軟件,限制了其應(yīng)用;B/S形式的程序要求客戶端必須裝有閱讀器,但是閱讀器在安全性、交互性與功能方面有一些限制。目前網(wǎng)絡(luò)五子棋游戲大部分是在C/S形式下實(shí)現(xiàn)的,其功能不斷的完善和加強(qiáng),而且五子棋的博弈算法研究到達(dá)了智能化的程度,并能實(shí)現(xiàn)了客戶端和服務(wù)器端的多線程交互性。隨著網(wǎng)絡(luò)協(xié)議這一關(guān)鍵性問題得到了解決和完善使網(wǎng)絡(luò)游戲的設(shè)計(jì)和實(shí)現(xiàn)成為可能。對于諸多的基層網(wǎng)絡(luò)協(xié)議,Winsock(WindowsSocket即Winsock)是五子棋游戲網(wǎng)絡(luò)連接的首選接口。Winsock是網(wǎng)絡(luò)編程接口,而不是協(xié)議。Winsock提供一個大家都很熟悉的接口,為實(shí)現(xiàn)網(wǎng)絡(luò)五子棋的功能得到了簡化[1]。單機(jī)版的五子棋游戲省去了網(wǎng)絡(luò)傳輸這一復(fù)雜的經(jīng)過,但是需要有力的算法支撐,算法的性能決定程序的性能,也能決定游戲的難易程度。五子棋是一個比擬特殊的游戲,跟象棋類的游戲很不一樣,它只需要判定有五子連珠就能決定勝負(fù),因而在采用博弈樹搜索形式時,只需要向前搜索一步,找出最優(yōu)的位置,基本就能知足程序的需求。1.2開發(fā)背景五子棋是一款益智小游戲,對于玩家來講,該小游戲其樂無窮,引人入勝。對于開發(fā)者來講,也具有一定的挑戰(zhàn)和樂趣。隨著Internet的迅速發(fā)展,網(wǎng)絡(luò)游戲迅猛發(fā)展,國家也開場大力支持游戲產(chǎn)業(yè),由于網(wǎng)絡(luò)游戲的強(qiáng)大市場驅(qū)動力,它必將成為最有活力的新文化事業(yè)。隨著Internet的普及,互聯(lián)網(wǎng)游戲作為網(wǎng)上娛樂的一個重要內(nèi)容,是互聯(lián)網(wǎng)技術(shù)與互聯(lián)網(wǎng)經(jīng)營不可忽略的一個組成部分。電子娛樂業(yè)在全球被以為是極有前景的一項(xiàng)產(chǎn)業(yè)。在國內(nèi)市場,游戲業(yè)潛力宏大,據(jù)統(tǒng)計(jì)顯示,中國在2006年一年時間內(nèi)就產(chǎn)生了大約340萬新生玩家,游戲人口的整體數(shù)量接近3750萬,其中90%是網(wǎng)絡(luò)游戲玩家。隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)游戲的發(fā)展正成為新的互聯(lián)網(wǎng)公司的主要業(yè)務(wù)方向之一。網(wǎng)絡(luò)游戲還能夠降低游戲開發(fā)成本,有利于游戲成本的回收。面對游戲產(chǎn)業(yè)發(fā)達(dá)國家的游戲企業(yè)有序、高效的進(jìn)入中國市場的現(xiàn)狀,國內(nèi)的游戲公司由于不能有效溝通合作,經(jīng)常容易陷入孤立無援、內(nèi)部競爭、競相抬價(jià),最終被各個擊破的局面。近年來,中國的游戲產(chǎn)業(yè)十分是網(wǎng)絡(luò)游戲領(lǐng)域得到了長足發(fā)展,隨著政府監(jiān)管力度的不斷加強(qiáng),各種法規(guī)、條例的不斷出臺,都表明中國游戲娛樂產(chǎn)業(yè)的春天就要到來了。因而開發(fā)自主的網(wǎng)絡(luò)游戲,是推動國內(nèi)游戲娛樂產(chǎn)業(yè)的關(guān)鍵。目前,隨著網(wǎng)絡(luò)游戲用戶日益增加,網(wǎng)絡(luò)游戲服務(wù)器端的設(shè)計(jì)顯得尤為重要。首先,由于游戲數(shù)據(jù)日益增大,各服務(wù)器間游戲數(shù)據(jù)的交互特別重要;其次,由于游戲外掛的日益猖獗游戲的可玩性和公平性都遭到了挑戰(zhàn)。因而進(jìn)行網(wǎng)絡(luò)游戲的研究,無論對于游戲產(chǎn)業(yè)和現(xiàn)行游戲的開發(fā)都有積極的意義。近年來,中國的網(wǎng)絡(luò)游戲產(chǎn)業(yè)高速增長,并成為增值服務(wù)外最賺錢的網(wǎng)絡(luò)業(yè)務(wù)。隨著網(wǎng)絡(luò)游戲產(chǎn)業(yè)的蓬勃發(fā)展,和國家政策對游戲產(chǎn)業(yè)的支持。網(wǎng)絡(luò)游戲產(chǎn)業(yè)進(jìn)而具有了廣闊的發(fā)展空間和發(fā)展前景。然而當(dāng)今中國網(wǎng)絡(luò)游戲市場,占主導(dǎo)地位的卻是以日、韓為代表的外國網(wǎng)絡(luò)游戲,而國內(nèi)廠家則基本上處于運(yùn)營商地位。因而開發(fā)有自主產(chǎn)權(quán)網(wǎng)絡(luò)游戲產(chǎn)品是擺在國內(nèi)游戲廠商面前的緊要任務(wù)。國家體育總局在2003年已經(jīng)把電子競技項(xiàng)目作為正式的體育項(xiàng)目,這為電子游戲產(chǎn)業(yè)帶來了又一個契機(jī),單機(jī)游戲和網(wǎng)絡(luò)游戲己經(jīng)逐步從民間組織走向職業(yè)化的道路上,網(wǎng)絡(luò)游戲正以每年市場份額翻倍的勢態(tài)迅猛發(fā)展。因而對網(wǎng)絡(luò)游戲的開發(fā)和研究具有鮮明的現(xiàn)實(shí)意義。一是由于網(wǎng)絡(luò)游戲有強(qiáng)大的市場驅(qū)動力,而網(wǎng)絡(luò)游戲產(chǎn)業(yè)是一個蓬勃發(fā)展的新興市場,成功的網(wǎng)絡(luò)游戲基本收益率可高達(dá)八成。因而網(wǎng)絡(luò)游戲的市場潛能特別宏大,對網(wǎng)絡(luò)游戲模型的研究和開發(fā)就更有其宏大的市場價(jià)值和經(jīng)濟(jì)利益。二是開發(fā)具有自主知識產(chǎn)權(quán)的網(wǎng)絡(luò)游戲?qū)Υ蚱仆鈬驹谖覈袌龅募夹g(shù)壟斷局面具有重大的意義。國家正在大力發(fā)展和扶持游戲產(chǎn)業(yè),建立國人網(wǎng)絡(luò)游戲,則是改變當(dāng)今市場外國網(wǎng)絡(luò)游戲產(chǎn)品壟斷市場的唯一出路。[2]1.3開發(fā)環(huán)境及運(yùn)行環(huán)境1.3.1開發(fā)環(huán)境●Microsoft?VisualC++6.01.3.2運(yùn)行環(huán)境●64M以上內(nèi)存,4G以上硬盤●Microsoft?WindowIP操作系統(tǒng)●800*600或以上的屏幕分辨率整個的下棋經(jīng)過〔無論對方是電腦抑或其他網(wǎng)絡(luò)玩家〕能夠分為:本人走棋、等待對手走棋、對手走棋后設(shè)置己方棋盤數(shù)據(jù)這一系列經(jīng)過,因而一人游戲類、二人游戲類和棋盤類共用一個棋盤類,以實(shí)現(xiàn)對兩個不同模塊中一樣功能的操作。2.1棋盤類該類封裝了棋盤的各種可能用到的功能,如保存棋盤數(shù)據(jù)、初始化、判定勝負(fù)等。用戶操作主界面,主界面與CTable進(jìn)行交互來完成對游戲的操作。2.1.1棋盤類主要成員變量講明2.1.1.1網(wǎng)絡(luò)連接標(biāo)志——m_bConnected它是用來區(qū)分當(dāng)前游戲形式的唯一標(biāo)志,用來表示當(dāng)前網(wǎng)絡(luò)連接的情況,TRUE時表明網(wǎng)絡(luò)連接成功,F(xiàn)ALSE時默以為人機(jī)對戰(zhàn)。2.1.1.2棋盤等待標(biāo)志——m_bWait與m_bOldWait由于在玩家落子后需要等待對方落子,m_bWait標(biāo)志就用來標(biāo)識棋盤的等待狀態(tài)。當(dāng)m_bWait為TRUE時,是不允許玩家落子的。2.1.1.3網(wǎng)絡(luò)套接字——m_sock和m_conn在網(wǎng)絡(luò)對弈游戲形式下,需要用到這兩個套接字對象。其中m_sock對象用于做服務(wù)器時的監(jiān)聽之用,m_conn用于網(wǎng)絡(luò)連接的傳輸。2.1.1.4棋盤數(shù)據(jù)——m_data這是一個15*15的二位數(shù)組,用來保存當(dāng)前棋盤的落子數(shù)據(jù)。其中對于每個成員來講,0表示落黑子,1表示落白子,-1表示無子。2.1.1.5游戲形式指針——m_pGame這個CGame類的對象指針是CTable類的核心內(nèi)容。它所指向的對象實(shí)體決定了CTable在執(zhí)行一件事情時候的不同行為,詳細(xì)的內(nèi)容請參見“游戲形式〞一節(jié)。2.1.2棋盤類主要成員函數(shù)講明2.1.2.1套接字的回調(diào)處理——Accept、Connect、Receive本程序的套接字派生自MFC的CAsjncSocket類,CTable的這三個成員函數(shù)就分別提供了對套接字回調(diào)事件OnAccept、OnConnect、OnReceive的實(shí)際處理,其中尤以Receive成員函數(shù)重要,它之中包含了對所有網(wǎng)絡(luò)消息的分發(fā)處理。2.1.2.2清空棋盤——Clear在每一局游戲開場的時候都需要調(diào)用這個函數(shù)將棋盤清空,也就是棋盤的初始化工作。在這個函數(shù)中,主要發(fā)生了這么幾件事情:●將m_data中每一個落子位都置為無子狀態(tài)〔-1〕。●根據(jù)傳入的參數(shù)設(shè)置棋盤等待標(biāo)志m_bWait,以供先、后手的不同情況之用?!袷褂胐elete將m_pGame指針?biāo)赶虻脑杏螒蛐问綄ο髲亩焉蟿h除。2.1.2.3繪制棋子——Draw這無疑是很重要的一個函數(shù),它根據(jù)參數(shù)給定的坐標(biāo)和顏色繪制棋子。繪制的具體經(jīng)過如下:●將給定的棋盤坐標(biāo)換算為繪圖的像素坐標(biāo)?!窀鶕?jù)坐標(biāo)繪制棋子位圖。●假如先前曾下過棋子,則利用R2_NOTIORPEN將上一個繪制棋子上的最后落子指示矩形擦除?!裨趧偫L制完成的棋子四周繪制最后落子指示矩形。2.1.2.4左鍵消息——OnLButtonUp作為棋盤唯一響應(yīng)的左鍵消息,也需要做不少的工作:●假如棋盤等待標(biāo)志m_bWait為TRUE,則直接發(fā)出警告聲音并返回,即禁止落子?!窦偃琰c(diǎn)擊時的鼠標(biāo)坐標(biāo)在合法坐標(biāo)(0,0)~(14,14)之外,亦禁止落子。●假如走的步數(shù)大于1步,方才允許悔棋?!襁M(jìn)行勝利判定,如勝利則修改UI狀態(tài)并增加勝利數(shù)的統(tǒng)計(jì)。●如未勝利,則向?qū)Ψ桨l(fā)送已經(jīng)落子的消息?!衤渥油戤?,將m_bWait標(biāo)志置為TRUE,開場等待對方回應(yīng)。2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年古建筑保護(hù)工程進(jìn)度申請監(jiān)管協(xié)議
- 2025年二手房產(chǎn)一次性付款交易合同模板
- 2025年債券交易委托策劃協(xié)議書
- 2025年度店鋪?zhàn)赓U協(xié)議標(biāo)準(zhǔn)格式
- 2025年智能制造策劃合作升級促進(jìn)協(xié)議
- 2025年協(xié)同創(chuàng)業(yè)股權(quán)協(xié)議書官方文本
- 2025年商業(yè)門面租賃協(xié)議正式版
- 2025年供水系統(tǒng)季度維護(hù)保養(yǎng)合同
- 2025年居民小區(qū)停車場策劃與建設(shè)協(xié)議書
- 2025年俄語外教勞動合同范文
- 安全生產(chǎn)法律法規(guī)匯編(2025版)
- 消防維保服務(wù)方案及實(shí)施細(xì)則
- 工程洽商記錄表格
- 橋梁施工常見問題及預(yù)防控制要點(diǎn)(PPT,46)
- 中俄文一般貿(mào)易合同范本
- 2021最新版三年級下冊生命-生態(tài)-安全教案
- 【自考練習(xí)題】石家莊學(xué)院概率論與數(shù)理統(tǒng)計(jì)真題匯總(附答案解析)
- 市政管道頂管施工技術(shù)的發(fā)展歷史(45頁)
- 依戀理論之母嬰依戀
- 電氣CAD-電氣圖基本知識
- 混合痔的治療PPT課件
評論
0/150
提交評論