




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
網絡版斗地主游戲程序的設計與實現
指導教師:杜玲答辯人:沈冰背景及意義斗地主是流行于湖北一帶的一種撲克游戲,玩法簡單,娛樂性強,老少皆宜。據傳在萬惡的舊社會,地主橫行鄉(xiāng)里,無惡不做,人們?yōu)榱税l(fā)泄對地主的痛恨,常常在一天的勞作之后,一家人關起門來"斗地主"。該游戲由三個人玩,用一副或兩副牌,地主為一方,其余兩家為另一方,雙方對戰(zhàn),先出完牌的一方獲勝。。在傳統(tǒng)單機斗地主游戲的基礎上,實現多人在網絡上共同進行斗地主的目的。本設計采用客戶機—服務器模式,網絡上的任何一臺計算機都可以連接到服務器。首先要啟動服務端游戲程序,等待接受客戶的請求。然后啟動客戶端游戲程序,輸入正確的服務端IP地址連接到服務器進行斗地主游戲。本文的主要工作研究工作基于網絡連接使用Socket編程為游戲的規(guī)則進行建模使用.NET控件為用戶提供提示實踐工作設計并實現網絡版斗地主游戲程序,使三位玩家能在網絡上共同進行斗地主游戲,游戲結束時有勝負提示。系統(tǒng)功能分析本軟件按功能實現可把系統(tǒng)分為三大模塊:網絡模塊:在該模塊中通過使用TCP/IP協議以及windows提供的基于網絡編程套接字也就是winsock實現服務端與客戶端之間的連接以及它們之間數據的傳送。游戲規(guī)則模塊:在該模塊中通過使用封裝和數學邏輯的方法實現對牌的存儲和排序。
用戶控制模塊:在該模塊中通過使用.NET控件庫提供的Button控件和Label控件實現給用戶提示的功能。模塊設計與實現該圖描述的是整個軟件的流程圖,首先是啟動服務端程序等待客戶端的連接,然后分別啟動三個客戶端連接到服務器,這樣游戲便開始了,每當一局結束后會給出勝敗提示,并由玩家決定是否重新開始,如果三位玩家都點擊重新開始后將重新進行下一局游戲,否則游戲到此結束。
系統(tǒng)總體設計YN開始啟動服務器啟動三個客戶機連接服務器游戲開始游戲過程此局結束是否重新開始結束模塊設計與實現網絡模塊:在該模塊的設計中,首先是開啟服務器:創(chuàng)建套接字,將套接字綁定到一個本地地址和端口上,將套接字設為監(jiān)聽模式。Listen,等待接受客戶的請求;當請求到來的時候,接受連接請求,并返回一個用于和客戶端通信的套接字,用返回的套接字與客戶端進行通信,返回,等待另一個客戶的請求(即關閉返回的套接字),關閉套接字。然后分別開啟客戶端:創(chuàng)建套接字,向服務器發(fā)送客戶連接請求,和服務器進行通信,關閉套接字。服務器流程圖客戶機流程圖Bind()與本地地址相連Listen()監(jiān)聽客戶端Accept()接收連接建立連接Recv()/Send讀/寫數據關閉套接字接收/發(fā)送Socket()建立套接字開始Close()關閉套接字實例結束Connect()連接服務器Recv()/Send讀/寫數據開始Socket()建立套接字關閉套接字結束模塊的設計與實現游戲規(guī)則模塊:在游戲規(guī)則模塊中,主要實現的功能是主要是通過封裝各種相應的牌類對牌進行存儲和排序以及組合。在該模塊中主要用到了集合和面向對象中封裝特性,外界通過類的對象,只要調用它的方法,就可以實施對玩家出牌的合法性判斷,并做相關結果的存儲工作。游戲規(guī)則流程模塊流程圖YNNYNYYYNN游戲開局發(fā)牌留三張底牌玩家1拿地主玩家2拿地主玩家3拿地主地主拿到三張底牌游戲開始游戲過程有斷線或退出該局結束分出勝負是否重新開始游戲結束模塊的設計與實現用戶控制模塊:該模塊的設計是為了完成用戶的點擊操作,主要實現用戶的點擊操作和給予用戶提示的功能。游戲開始時用戶可以點擊“要地主”或“不要地主”進行操作,游戲過程中用戶可以點擊“出牌”或“不出”進行操作,如果出牌不符合要求“出牌提示”這個標簽會提示用戶“不可以出牌”。NYN開始點擊“準備”點擊“要地主”或“不要地主”游戲開始是否點擊“重新開始”結束游戲過程:選牌后點擊“出牌”或“不出分出勝敗,此局結束在文本框內輸入服務器IP地址后點擊“連接”用戶控制模塊流程圖軟件運行環(huán)境軟硬件環(huán)境:
硬件設備:三臺計算機。
操作系統(tǒng):
WindowsXP。
編程語言:
C#語言。
運行環(huán)境:Microsoftvisual2005平臺。軟件測試啟動服務端:軟件測試啟動客戶端:軟件測試三個客戶端成功連接服務器后發(fā)牌:軟件測試出牌提示:軟件測試游戲結束提示勝敗:總結本設計主要論述了如何實現網絡版的斗地主對戰(zhàn)程序,并且以一副牌規(guī)則為準,論述了網絡斗地主的游戲算法的設計。本設計采用MicrosoftVisual2005/C#作為開發(fā)工具,結合socket編程。本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 3《不懂就要問》教學設計2024-2025學年統(tǒng)編版語文三年級上冊
- 道路拓寬建設合同范本
- 5建立良好的公共秩序-公共生活需要秩序(教學設計)統(tǒng)編版道德與法治四年級下冊
- 2025屆高考生物備考教學設計:第七章 生物的變異和進化之構建圖像模型分析細胞分裂與可遺傳變異的關系
- 購買蛋糕卷合同范本
- 采購教具合同范本
- 木門長期合同范本
- Unit 1 My Classroom Part A. Lets learn;Lets chant. (教學設計)-2024-2025學年人教PEP版英語四年級上冊
- 教育產品合同范本
- 藥店委托配送合同范本
- C語言大學實用教程課后參考答案蘇小紅
- 新部編版四年級下冊小學語文全冊課件PPT
- 高中人教物理選擇性必修一第3章第5節(jié)多普勒效應課件
- 全套橋梁施工技術交底記錄
- 2021年山東省威海市中考語文真題(解析版)
- 主動脈夾層的護理-ppt課件
- 高新技術企業(yè)認定申請書樣例與說明
- 數據結構英文教學課件:chapter6 Tree
- 高壓氧科工作總結高壓氧科個人年終總結.doc
- 《政治學概論》教學大綱
- 食品生物化學習題謝達平(動態(tài))
評論
0/150
提交評論