- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用MSC和SDL进行描述猜数字的游戏
用MSC和SDL进行描述猜数字的游戏游戏规则这是一个由Server和一个Client组成的猜数字的游戏系统,每次可允许三个Client连接到Server,游戏规则如下:(1)Client连接到服务器开始新游戏;(2)Server从0到99间随机选取一个数字A(用过程rand()来产生)(3)Client试图在7次猜测中猜出这个数字A,每次猜测,Client告诉Server它所猜测的数字B是多少(4)在每次Client猜测数字后:如果猜中,Server给出“Win”,游戏结束并断开连接;否则,Server告诉Client所猜的B是大于(用“Greater”)还是小于(用“Smaller”)A(5)在达到最大猜测次数后,游戏结束,Server告诉Client是“Win”还是“Lost”,游戏结束并断开连接(6)在Client长时间(1分钟)不猜测数字时,游戏结束并断开连接。作业要求:请为这个游戏做出MSC和SDL设计:(1)采用Client/Server方式设计,Server端可以考虑采用多进程或单进程(2)进程间的MSC分析(主要的MSC过程)(3)SDL设计要求包括:系统图、功能块图、进程图的SDL设计,并请考虑Client如何能够尽可能赢;(4)要求给出必要的信号、消息、数据结构设计(5)如果用到外部的过程,请说明过程所完成的功能;rnd()可当作已经实现的过程直接使用(6)必须介绍游戏的应用环境(7)列举出系统在功能和性能方面的需求(8)除完成MSC和SDL相关图的设计外,必须提供反映系统结构的图(9)完整的设计过程,主要是MSC图和SDL图,并且每个图必须配以文字说明(10)报告必须有合理的章节结构,不少于4000字(11)对引用的参考文献必须在正文最后列举出,且必须在正文中标注一.硬件结构及工作原理通过分析游戏规则可以得出,该游戏包括两个实体:一个Server和一个Client,且每次可允许三个Client连接到Server。该猜数字游戏系统的工作原理可以通过一次完整的游戏过程来描述。游戏过程可以分为三个阶段:连接建立阶段,游戏阶段和连接释放阶段。下面以Client D连接到Server 为例,说明一次完整的游戏过程。连接建立阶段Client D启动猜数字应用程序Client D向Server发送连接请求信号,Server对连接请求作出回应,当Client接入数count13时,则给出响应,同意接入,并做好游戏准备。当Client接入数count1=3时,则拒绝接入,通知Client D无法接入游戏。游戏阶段在Client D 与Server建立连接后,Server给 Client D设置一个猜测计数器count2=7。Server通过rand( )过程从从0到99间随机选取一个数字A。如果count20,Client D进行猜测并给出的数字为B,如果A==B,则猜中,Server给出“Win”,游戏结束;否则,Server告诉Client所猜的B是大于(用“Greater”)还是小于(用“Smaller”)ACount2--;如果count20,则进去(2),否则Server告诉Client D是“Lost”,游戏结束在Client D长时间(1分钟)不猜测数字时,游戏结束。在Client D自动关闭游戏软件时,游戏结束。连接释放阶段在游戏结束后, Server自动断开跟Client D的连接,开始准备下一客户client的接入。二.需求分析 对本游戏而言,用户的要求比较简单,可以归纳为:用户在启动猜数字应用程序后,服务器能随时收到用户发送的连接请求信号。用户在关闭应用软件后,服务器能自动断开与用户的连接。服务器能迅速判断已连接的Client数,并对当前接收到的连接请求信号作出回应(是同意接入游戏还是拒绝接入游戏)。Server能给出0——99之间的随机数。Server能比较Client的猜测数与所给出的随机数的大小,并给Client相应提示(如果相等即猜中,Server给出“Win”,游戏结束并断开连接;否则,Server告诉Client所给的猜测数是大于还是小于随机数)。能自动对接入游戏的用户的猜测数进行计数,并对猜测数超过设定数时的用户断开游戏,给出LOST。Server具有定时器,在Client长时间(1分钟)不猜测数字时,游戏结束并断开连接。二.软件结构设计 本游戏的软件采用分层结构,可以分为两层:应用层和接口层。接口层负责与接口层负责与硬件有关部分的工作,完成以下功能:用户启动游戏软件检测连接的连接与断开游戏进程的控制应用层负责与硬件无关部分的工作,完成以下功能:资源分析:判断当前是否有资源接入新的用户。用户状态管理,建立一张用户状态表,记录用户状态连接管理:负责游戏进程的连接与断开。 程
原创力文档


文档评论(0)