網(wǎng)絡(luò)版斗地主游戲_第1頁
網(wǎng)絡(luò)版斗地主游戲_第2頁
網(wǎng)絡(luò)版斗地主游戲_第3頁
網(wǎng)絡(luò)版斗地主游戲_第4頁
網(wǎng)絡(luò)版斗地主游戲_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

網(wǎng)絡(luò)版斗地主游戲程序的設(shè)計(jì)與實(shí)現(xiàn)

指導(dǎo)教師:杜玲答辯人:沈冰背景及意義斗地主是流行于湖北一帶的一種撲克游戲,玩法簡單,娛樂性強(qiáng),老少皆宜。據(jù)傳在萬惡的舊社會(huì),地主橫行鄉(xiāng)里,無惡不做,人們?yōu)榱税l(fā)泄對地主的痛恨,常常在一天的勞作之后,一家人關(guān)起門來"斗地主"。該游戲由三個(gè)人玩,用一副或兩副牌,地主為一方,其余兩家為另一方,雙方對戰(zhàn),先出完牌的一方獲勝。。在傳統(tǒng)單機(jī)斗地主游戲的基礎(chǔ)上,實(shí)現(xiàn)多人在網(wǎng)絡(luò)上共同進(jìn)行斗地主的目的。本設(shè)計(jì)采用客戶機(jī)—服務(wù)器模式,網(wǎng)絡(luò)上的任何一臺(tái)計(jì)算機(jī)都可以連接到服務(wù)器。首先要啟動(dòng)服務(wù)端游戲程序,等待接受客戶的請求。然后啟動(dòng)客戶端游戲程序,輸入正確的服務(wù)端IP地址連接到服務(wù)器進(jìn)行斗地主游戲。本文的主要工作研究工作基于網(wǎng)絡(luò)連接使用Socket編程為游戲的規(guī)則進(jìn)行建模使用.NET控件為用戶提供提示實(shí)踐工作設(shè)計(jì)并實(shí)現(xiàn)網(wǎng)絡(luò)版斗地主游戲程序,使三位玩家能在網(wǎng)絡(luò)上共同進(jìn)行斗地主游戲,游戲結(jié)束時(shí)有勝負(fù)提示。系統(tǒng)功能分析本軟件按功能實(shí)現(xiàn)可把系統(tǒng)分為三大模塊:網(wǎng)絡(luò)模塊:在該模塊中通過使用TCP/IP協(xié)議以及windows提供的基于網(wǎng)絡(luò)編程套接字也就是winsock實(shí)現(xiàn)服務(wù)端與客戶端之間的連接以及它們之間數(shù)據(jù)的傳送。游戲規(guī)則模塊:在該模塊中通過使用封裝和數(shù)學(xué)邏輯的方法實(shí)現(xiàn)對牌的存儲(chǔ)和排序。

用戶控制模塊:在該模塊中通過使用.NET控件庫提供的Button控件和Label控件實(shí)現(xiàn)給用戶提示的功能。模塊設(shè)計(jì)與實(shí)現(xiàn)該圖描述的是整個(gè)軟件的流程圖,首先是啟動(dòng)服務(wù)端程序等待客戶端的連接,然后分別啟動(dòng)三個(gè)客戶端連接到服務(wù)器,這樣游戲便開始了,每當(dāng)一局結(jié)束后會(huì)給出勝敗提示,并由玩家決定是否重新開始,如果三位玩家都點(diǎn)擊重新開始后將重新進(jìn)行下一局游戲,否則游戲到此結(jié)束。

系統(tǒng)總體設(shè)計(jì)YN開始啟動(dòng)服務(wù)器啟動(dòng)三個(gè)客戶機(jī)連接服務(wù)器游戲開始游戲過程此局結(jié)束是否重新開始結(jié)束模塊設(shè)計(jì)與實(shí)現(xiàn)網(wǎng)絡(luò)模塊:在該模塊的設(shè)計(jì)中,首先是開啟服務(wù)器:創(chuàng)建套接字,將套接字綁定到一個(gè)本地地址和端口上,將套接字設(shè)為監(jiān)聽模式。Listen,等待接受客戶的請求;當(dāng)請求到來的時(shí)候,接受連接請求,并返回一個(gè)用于和客戶端通信的套接字,用返回的套接字與客戶端進(jìn)行通信,返回,等待另一個(gè)客戶的請求(即關(guān)閉返回的套接字),關(guān)閉套接字。然后分別開啟客戶端:創(chuàng)建套接字,向服務(wù)器發(fā)送客戶連接請求,和服務(wù)器進(jìn)行通信,關(guān)閉套接字。服務(wù)器流程圖客戶機(jī)流程圖Bind()與本地地址相連Listen()監(jiān)聽客戶端Accept()接收連接建立連接Recv()/Send讀/寫數(shù)據(jù)關(guān)閉套接字接收/發(fā)送Socket()建立套接字開始Close()關(guān)閉套接字實(shí)例結(jié)束Connect()連接服務(wù)器Recv()/Send讀/寫數(shù)據(jù)開始Socket()建立套接字關(guān)閉套接字結(jié)束模塊的設(shè)計(jì)與實(shí)現(xiàn)游戲規(guī)則模塊:在游戲規(guī)則模塊中,主要實(shí)現(xiàn)的功能是主要是通過封裝各種相應(yīng)的牌類對牌進(jìn)行存儲(chǔ)和排序以及組合。在該模塊中主要用到了集合和面向?qū)ο笾蟹庋b特性,外界通過類的對象,只要調(diào)用它的方法,就可以實(shí)施對玩家出牌的合法性判斷,并做相關(guān)結(jié)果的存儲(chǔ)工作。游戲規(guī)則流程模塊流程圖YNNYNYYYNN游戲開局發(fā)牌留三張底牌玩家1拿地主玩家2拿地主玩家3拿地主地主拿到三張底牌游戲開始游戲過程有斷線或退出該局結(jié)束分出勝負(fù)是否重新開始游戲結(jié)束模塊的設(shè)計(jì)與實(shí)現(xiàn)用戶控制模塊:該模塊的設(shè)計(jì)是為了完成用戶的點(diǎn)擊操作,主要實(shí)現(xiàn)用戶的點(diǎn)擊操作和給予用戶提示的功能。游戲開始時(shí)用戶可以點(diǎn)擊“要地主”或“不要地主”進(jìn)行操作,游戲過程中用戶可以點(diǎn)擊“出牌”或“不出”進(jìn)行操作,如果出牌不符合要求“出牌提示”這個(gè)標(biāo)簽會(huì)提示用戶“不可以出牌”。NYN開始點(diǎn)擊“準(zhǔn)備”點(diǎn)擊“要地主”或“不要地主”游戲開始是否點(diǎn)擊“重新開始”結(jié)束游戲過程:選牌后點(diǎn)擊“出牌”或“不出分出勝敗,此局結(jié)束在文本框內(nèi)輸入服務(wù)器IP地址后點(diǎn)擊“連接”用戶控制模塊流程圖軟件運(yùn)行環(huán)境軟硬件環(huán)境:

硬件設(shè)備:三臺(tái)計(jì)算機(jī)。

操作系統(tǒng):

WindowsXP。

編程語言:

C#語言。

運(yùn)行環(huán)境:Microsoftvisual2005平臺(tái)。軟件測試啟動(dòng)服務(wù)端:軟件測試啟動(dòng)客戶端:軟件測試三個(gè)客戶端成功連接服務(wù)器后發(fā)牌:軟件測試出牌提示:軟件測試游戲結(jié)束提示勝?。嚎偨Y(jié)本設(shè)計(jì)主要論述了如何實(shí)現(xiàn)網(wǎng)絡(luò)版的斗地主對戰(zhàn)程序,并且以一副牌規(guī)則為準(zhǔn),論述了網(wǎng)絡(luò)斗地主的游戲算法的設(shè)計(jì)。本設(shè)計(jì)采用MicrosoftVisual2005/C#作為開發(fā)工具,結(jié)合socket編程。本

溫馨提示

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

評論

0/150

提交評論