- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
期末作业题目:实现扑克牌的联网游戏
课 程 名 称: 网络游戏开发
学 院:信息工程与自动化学院
专 业: 计算机科学与技术
班 级: 082
学 生 姓 名: 崔号
学 号: 200810405211
任 课 教 师: 欧阳鑫
日 期: 2011-12-28
一、扑克游戏设计介绍
用C++实现斗地主游戏主要有三部分。第一部分是界面设计;第二部分是游戏内核(包括出牌大小、如何过牌、出牌等)设计;第三部分是网络部分。
该游戏由3个人玩,用一副牌,地主为一方,其余两家为另一方,双方对战,先出完牌的一方获胜,出牌规则类似“争上游”。发牌:一副牌,留3张底牌,其它发给3家,底牌加到地主手中。叫牌:叫牌按出牌顺序轮流开始叫牌,每人只能叫一次。叫牌的人为地主,如果都选择不叫,则重新发牌,重新叫地主。出牌:首先将3张底牌交给地主,3张底牌为可见。由地主开始出牌,然后按逆时针顺序依次出牌,轮到用户跟牌时,用户可按右下方“过牌”按钮表示不出,或者按照规则按“出牌”选择符合规则的牌,直至某一方出完牌为止。
牌型说明:1.双王。2.炸弹(四张大小相同的牌)。3.单牌(单张牌)。4.双牌(两张大小相同的牌)。5.三张牌(三张大小相同的牌)。6.三带一手(三张大小相同的牌+1张单牌或一对牌)。7.单顺(5张或更多的连续单牌,不包括2点和双王,不分花色)。8.双顺(3对或更多的连续对牌(不包括2点和双王)。9.三顺(两个或更多的连续“三张牌”,不包括2点和双王)。10.飞机带翅膀(3顺+同数量的一手牌)。11.四带二(4张牌+两手牌)。
牌型比较:双王炸弹一般牌型(单牌,对牌,三张牌,三带一手,单顺,双顺,三顺,飞机带翅膀,四带二)。一般牌型:只有牌型且张数相同的牌才可按牌点数比较大小。其中三带一,三带二,飞机带翅膀,四带二组合牌型,比较其相同张数最多的牌点数大小。
游戏术语:地主(叫的一方为地主,可获得底牌)。
游戏规则:只能出大于上家的牌,没有则不出,直到一方出完,则游戏结束。
二、 基于Socket的网络编程
用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCPIP协议交互提供了称为套接字(Socket)的接口,区分不同应用程序进程间的网络通信和连接。
生成套接字,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号。Socket原意是插座。通过将这3个参数结合起来,与一个插座Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。
Host A上的程序A将一段信息写入Socket中,Socket的内容被Host A的网络管理软件访问,并将这段信息通过Host A的网络接口卡发送到Host B,Host B的网络接口卡接收到这段信息后,传送给Host B的网络管理软件,网络管理软件将这段信息保存在Host B的Socket中,然后程序B才能在Socket中阅读这段信息。
要通过互联网进行通信,至少需要一对套接字,一个运行于客户机端,称之为Client Socket,另一个运行于服务器端,称之为Server Socket。
根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。
服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。
客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新
文档评论(0)