网络版斗地主游戏
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
出完牌的一方获胜。。
▪ 在传统单机斗地主游戏的基础上,实现多人在网络上共同进 行斗地主的目的。本设计采用客户机—服务器模式,网络上 的任何一台计算机都可以连接到服务器。 • 首先要启动服务端游戏程序,等待接受客户的请求。 • 然后启动客户端游戏程序,输入正确的服务端IP地址连接 到服务器进行斗地主游戏。
网络版斗地主游戏程序的设计 与实现
指导教师:杜玲 答辩人:沈冰
Hale Waihona Puke Baidu景及意义
▪ 斗地主是流行于湖北一带的一种扑克游戏,玩法简单,娱乐 性强,老少皆宜。据传在万恶的旧社会,地主横行乡里,无 恶不做,人们为了发泄对地主的痛恨,常常在一天的劳作之 后,一家人关起门来"斗地主"。该游戏由三个人玩,用一副 或两副牌,地主为一方,其余两家为另一方,双方对战,先
该图描述的是整个软件的流程
图,首先是启动服务端程序等待客 户端的连接,然后分别启动三个客 户端连接到服务器,这样游戏便开 始了,每当一局结束后会给出胜败 提示,并由玩家决定是否重新开始, 如果三位玩家都点击重新开始后将 重新进行下一局游戏,否则游戏到 此结束。
模块设计与实现
▪ 网络模块:
开始
在该模块的设计中,首先是开 启服务器:创建套接字,将套接字 绑定到一个本地地址和端口上,将 套接字设为监听模式。Listen,等 待接受客户的请求;当请求到来的 时候,接受连接请求,并返回一个 用于和客户端通信的套接字,用返 回的套接字与客户端进行通信,返 回,等待另一个客户的请求(即关 闭返回的套接字),关闭套接字。
• 游戏规则模块:在该模块中通过使用封装和数学逻辑的方法实 现对牌的存储和排序。
• 用户控制模块:在该模块中通过使用.NET控件库提供的Button 控件和Label控件实现给用户提示的功能。
模块设计与实现
开始
启动服务器
启动三个客户机连接服务器
游戏开始
游戏过程
此局结束
Y 是否重新开 始
N 结束
系统总体设计
面向对象中封装特性,外界通过类
的对象,只要调用它的方法,就可
以实施对玩家出牌的合法性判断,
Y
并做相关结果的存储工作。
发牌 留三张底牌
玩家1拿地主 N
玩家2拿地主
N
玩家3拿地主
N
Y
地主拿到三张底牌
游戏开始
游戏过程
有断线或退出
N 该局结束分出胜负
是否重新开始
Y
N 游戏结束
游戏规则流程模块流程图
模块的设计与实现
本设计通过启动服务器与客户机,完成了他们之间的连接和数据 交换;并且出色的完成了游戏的各种规则以及给予用户正确的操 作提示和胜负显示。虽然完成了设计的初始要求,但是在游戏的 声效和动画处理以及计算积分方面还有待提高和改善。
开始
▪ 用户控制模块:
该模块的设计是为了完 成用户的点击操作,主要实 现用户的点击操作和给予用 户提示的功能。游戏开始时 用户可以点击“要地主”或 “不要地主”进行操作,游 戏过程中用户可以点击“出 牌”或“不出”进行操作, 如果出牌不符合要求“出牌 提示”这个标签会提示用户 “不可以出牌”。
在文本框内输入服务器IP 地址后点击“连接”
▪ 启动服务端:
软件测试
▪ 启动客户端:
软件测试
软件测试
▪ 三个客户端成功连接服务器后发牌:
▪ 出牌提示:
软件测试
软件测试
▪ 游戏结束提示胜败:
总结
本设计主要论述了如何实现网络版的斗地主对战程序,并且以一 副牌规则为准,论述了网络斗地主的游戏算法的设计。本设计采 用Microsoft Visual 2005/C#作为开发工具,结合socket编程。
然后分别开启客户端:创建套 接字,向服务器发送客户连接请求, 和服务器进行通信,关闭套接字。
Socket()建立套接字 Bind()与本地地址相连 Listen()监听客户端 Accept()接收连接 建立连接 Recv()/Send读/写数据 关闭套接字接收/发送 Close()关闭套接字实例 结束
本文的主要工作
▪ 研究工作 • 基于网络连接使用Socket编程 • 为游戏的规则进行建模 • 使用.NET控件为用户提供提示
▪ 实践工作 • 设计并实现网络版斗地主游戏程序,使三位玩家能在网络上共 同进行斗地主游戏,游戏结束时有胜负提示。
系统功能分析
本软件按功能实现可把系统分为三大模块:
• 网络模块:在该模块中通过使用TCP/IP协议以及windows提供 的基于网络编程套接字也就是winsock实现服务端与客户端之 间的连接以及它们之间数据的传送。
点击“准备”
游戏开始
点击“要地主” 或“不要地主”
游戏过程:选牌后点击“出 牌”或“不出
分出胜败,此局结束
是否点击
Y
“重新开始” N
N
结束
用户控制模块流程图
软件运行环境
▪ 软硬件环境:
硬件设备:三台计算机。 操作系统: Windows XP。 编程语言: C#语言。 运行环境:Microsoft visual 2005平台。
服务器流程图
开始 Socket()建立套接字 Connect()连接服务器 Recv()/Send读/写数据
关闭套接字 结束
客户机流程图
模块的设计与实现
游戏开局
▪ 游戏规则模块: Y
Y
在游戏规则模块中,主要实现
的功能是主要是通过封装各种相应
的牌类对牌进行存储和排序以及组
合。在该模块中主要用到了集合和
▪ 在传统单机斗地主游戏的基础上,实现多人在网络上共同进 行斗地主的目的。本设计采用客户机—服务器模式,网络上 的任何一台计算机都可以连接到服务器。 • 首先要启动服务端游戏程序,等待接受客户的请求。 • 然后启动客户端游戏程序,输入正确的服务端IP地址连接 到服务器进行斗地主游戏。
网络版斗地主游戏程序的设计 与实现
指导教师:杜玲 答辩人:沈冰
Hale Waihona Puke Baidu景及意义
▪ 斗地主是流行于湖北一带的一种扑克游戏,玩法简单,娱乐 性强,老少皆宜。据传在万恶的旧社会,地主横行乡里,无 恶不做,人们为了发泄对地主的痛恨,常常在一天的劳作之 后,一家人关起门来"斗地主"。该游戏由三个人玩,用一副 或两副牌,地主为一方,其余两家为另一方,双方对战,先
该图描述的是整个软件的流程
图,首先是启动服务端程序等待客 户端的连接,然后分别启动三个客 户端连接到服务器,这样游戏便开 始了,每当一局结束后会给出胜败 提示,并由玩家决定是否重新开始, 如果三位玩家都点击重新开始后将 重新进行下一局游戏,否则游戏到 此结束。
模块设计与实现
▪ 网络模块:
开始
在该模块的设计中,首先是开 启服务器:创建套接字,将套接字 绑定到一个本地地址和端口上,将 套接字设为监听模式。Listen,等 待接受客户的请求;当请求到来的 时候,接受连接请求,并返回一个 用于和客户端通信的套接字,用返 回的套接字与客户端进行通信,返 回,等待另一个客户的请求(即关 闭返回的套接字),关闭套接字。
• 游戏规则模块:在该模块中通过使用封装和数学逻辑的方法实 现对牌的存储和排序。
• 用户控制模块:在该模块中通过使用.NET控件库提供的Button 控件和Label控件实现给用户提示的功能。
模块设计与实现
开始
启动服务器
启动三个客户机连接服务器
游戏开始
游戏过程
此局结束
Y 是否重新开 始
N 结束
系统总体设计
面向对象中封装特性,外界通过类
的对象,只要调用它的方法,就可
以实施对玩家出牌的合法性判断,
Y
并做相关结果的存储工作。
发牌 留三张底牌
玩家1拿地主 N
玩家2拿地主
N
玩家3拿地主
N
Y
地主拿到三张底牌
游戏开始
游戏过程
有断线或退出
N 该局结束分出胜负
是否重新开始
Y
N 游戏结束
游戏规则流程模块流程图
模块的设计与实现
本设计通过启动服务器与客户机,完成了他们之间的连接和数据 交换;并且出色的完成了游戏的各种规则以及给予用户正确的操 作提示和胜负显示。虽然完成了设计的初始要求,但是在游戏的 声效和动画处理以及计算积分方面还有待提高和改善。
开始
▪ 用户控制模块:
该模块的设计是为了完 成用户的点击操作,主要实 现用户的点击操作和给予用 户提示的功能。游戏开始时 用户可以点击“要地主”或 “不要地主”进行操作,游 戏过程中用户可以点击“出 牌”或“不出”进行操作, 如果出牌不符合要求“出牌 提示”这个标签会提示用户 “不可以出牌”。
在文本框内输入服务器IP 地址后点击“连接”
▪ 启动服务端:
软件测试
▪ 启动客户端:
软件测试
软件测试
▪ 三个客户端成功连接服务器后发牌:
▪ 出牌提示:
软件测试
软件测试
▪ 游戏结束提示胜败:
总结
本设计主要论述了如何实现网络版的斗地主对战程序,并且以一 副牌规则为准,论述了网络斗地主的游戏算法的设计。本设计采 用Microsoft Visual 2005/C#作为开发工具,结合socket编程。
然后分别开启客户端:创建套 接字,向服务器发送客户连接请求, 和服务器进行通信,关闭套接字。
Socket()建立套接字 Bind()与本地地址相连 Listen()监听客户端 Accept()接收连接 建立连接 Recv()/Send读/写数据 关闭套接字接收/发送 Close()关闭套接字实例 结束
本文的主要工作
▪ 研究工作 • 基于网络连接使用Socket编程 • 为游戏的规则进行建模 • 使用.NET控件为用户提供提示
▪ 实践工作 • 设计并实现网络版斗地主游戏程序,使三位玩家能在网络上共 同进行斗地主游戏,游戏结束时有胜负提示。
系统功能分析
本软件按功能实现可把系统分为三大模块:
• 网络模块:在该模块中通过使用TCP/IP协议以及windows提供 的基于网络编程套接字也就是winsock实现服务端与客户端之 间的连接以及它们之间数据的传送。
点击“准备”
游戏开始
点击“要地主” 或“不要地主”
游戏过程:选牌后点击“出 牌”或“不出
分出胜败,此局结束
是否点击
Y
“重新开始” N
N
结束
用户控制模块流程图
软件运行环境
▪ 软硬件环境:
硬件设备:三台计算机。 操作系统: Windows XP。 编程语言: C#语言。 运行环境:Microsoft visual 2005平台。
服务器流程图
开始 Socket()建立套接字 Connect()连接服务器 Recv()/Send读/写数据
关闭套接字 结束
客户机流程图
模块的设计与实现
游戏开局
▪ 游戏规则模块: Y
Y
在游戏规则模块中,主要实现
的功能是主要是通过封装各种相应
的牌类对牌进行存储和排序以及组
合。在该模块中主要用到了集合和