教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

C# 黑白棋网络对战游戏 设计(3)

来源:网络收集 时间:2026-09-14
导读: 基于.net平台开发的网络对战的黑白棋游戏 3系统分析与设计 3.1 系统总体分析 网络游戏是目前互联网提供的主要内容之一。系统支持对战功能外,还需要提供游戏大厅与房间、战绩排名等功能。使玩家通过对战平台,能在I

基于.net平台开发的网络对战的黑白棋游戏

3系统分析与设计

3.1 系统总体分析

网络游戏是目前互联网提供的主要内容之一。系统支持对战功能外,还需要提供游戏大厅与房间、战绩排名等功能。使玩家通过对战平台,能在Internet上与其它的玩家进行多人游戏模式,提供了一个玩家之间交流经验、聊天交友的好地方。客户端和服务器端的通信。在服务器端,程序需要不断的监听客户端是否有连接请求,已保证多个客户端的连接,服务器通过套接字识别客户端;而客户端只需要指定哪个服务器即可。一旦双方建立连接并创建了对应的套接字,就可以互相传输数据了。

游戏客户端使该游戏的玩家能够通过客户端登入到该游戏大厅,然后玩家的客户端直接与服务器交互。所以,首先需要启动服务器,进行服务器的配置,进行正确的服务器配置和数据库连接并测试成功后,开启服务器。接下来,在客户端,该玩家能够通过登陆界面进入或者注册账号,然后直接与系统服务器交互,进行数据传输。本系统支持的活动列表如下:

(1) 开启服务器; (2) 用户注册; (3) 用户登陆系统;

(4) 用户与系统交互,进行数据传输; (5) 用户战绩记录; (6) 用户进行游戏;

3.2 模块介绍 3.2.1 模块结构图

黑白棋网络对战游戏系统以局域网内的用户为应用对象,经过各方面需求分析,该系统主要由服务器端和客户端两部分构成,各功能模块如图3-1所示。

基于.net平台开发的网络对战的黑白棋游戏

图3-1黑白棋网络对战游戏系统功能模块图

3.2.2服务器端功能模块介绍

开启服务器功能模块:开启服务器,使服务器处在正常工作状态,随时等待响应客户端的连接和发送等请求。

停止服务器功能模块:停止服务器,停止一切数据的接受与发送。

配置服务器功能模块:此功能模块具体实现的功能有限制同时游戏的人数上限和限制同时开出游戏桌数的上限,以保证服务器能够正常运行。

关闭服务器功能模块:关闭服务器。

3.2.3 客户端功能模块介绍

注册功能模块:为用户提供注册功能,注册了账号的用户方可登录游戏大厅进行游戏。

登录功能模块:系统可以验证用户信息,以注册的用户可以通过登录模块进入游戏大厅。

文字传送功能模块:为用户提供简单的文字交流平台。

游戏功能模块:本系统核心模块,用户通过该模块与其他用户进行对弈。 战绩记录功能模块:记录各用户的胜负场次。

基于.net平台开发的网络对战的黑白棋游戏

3.3 设计原理

3.3.1服务器端原理与设计

根据要求,服务器需要提供游戏室,游戏室内可以根据需要开辟多个小房间,每个小房间内提供一个游戏桌,游戏桌两边各有一个座位,分别用编号0和1表示,0代表黑方,1代表白方。每个小房间内最多只允许两个玩家。

玩家进入游戏室后,应该可以看到各个小房间的游戏桌两边是否有人的情况,而且可以决定是否坐到某个座位上。坐到座位上后,才能看到游戏桌上的棋盘。玩家也可以随时离开座位返回游戏室,但视为败方。

服务器启动服务后,需要创建一个线程专门用于监听玩家的连接请求。

在监听线程中,服务器一旦接受一个连接,就创建一个与该玩家对应的线程,用于接收该玩家发送的信息,并根据该玩家发送的信息提供相应的服务。有多少个玩家连接,就创建多少个对应的线程。玩家退出游戏室时,其对应的线程自动终止。

玩家越多需要创建的线程越多。因此服务器限制进入游戏室的玩家数量为100人。 在与每个玩家对应的线程中,服务器收到对应玩家发送的字符串信息后,需要解析字符串的含义,并决定服务器需要执行的操作。字符串分为命令部分和参数部分,命令部分和参数部分之间以及参数部分的参数之间均以逗号分隔。 客户端发送给服务器的命令有:

Login:玩家请求进入游戏室。服务器接受连接后,检查游戏室总人数,如果人数已满,调用“Sorry”命令,否则回送“Tables”命令,并在参数中指明各小房间游戏桌的就座情况,每桌有两个座,第一座表示黑方,第二座表示白方,每座的0表示无人,1表示有人。

Logout:玩家退出游戏室。服务器收到此命令后,清除该玩家对应的信息,结束与该玩家对应的线程。

SitDown:玩家坐到某个小房间的游戏桌座位上,服务器接收到此命令后,将该玩家的昵称、TcpClient对象、桌号、座位号保存到对应的数组中,并将该玩家入座的信息同时告诉该游戏桌的两个玩家。另外,由于座位数已经发生变化,所以还需要将各桌是否有人的情况同时发送给连接到服务器的所有玩家。

GetUp:玩家离开小房间的游戏桌座位,回到游戏室。服务器收到此信息后,需要停

基于.net平台开发的网络对战的黑白棋游戏

止向该桌发送棋子位置及颜色信息,并进行离座处理。同时由于坐到座位上的人数已经发生变化,还要将各桌是否有人的情况发送给连接到服务器的所有玩家。

Start:表示玩家已经单击【开始】按钮,此时服务器需要检测另一方是否也单击了【开始】按钮,如果是,就开始游戏。

3.3.2客户端原理与设计

客户端与服务器连接成功后,需要创建一个接收线程,用于接收服务器发送的信息。在接收线程中,客户端收到服务器发送的字符串信息后,需要解析字符串的含义,并决定需要的操作。

另外,客户端还需要根据服务器发送的命令,及时更新客户端程序的运行界面。 客户端从服务器接收的信息主要有:

Sorry:服务器游戏室人员已满。客户端接收到此命令后,直接结束接收线程,并退出整个客户端程序。

Tables:各小房间的游戏桌情况。客户端接收到此信息后,需要计算对应的桌数,并以CheckBox的形式显示出各桌是否有人的情况,供玩家选择座位。

Sitdown:玩家坐到某个小房间的游戏桌上。客户端接收到此信息后,需要判断是自己还是对家,并在窗体中显示相应信息。

GetUp:玩家离开小房间的游戏桌,回到游戏室。客户端收到此信息后,需要判断是对家离座了还是自己离座后,如果对家离座,显示一个对话框;如果是自己离座,除了设置对应的标志外,不做其他任何处理。

Lost:对家与服务器失去联系。由于游戏无法继续进行,直接从游戏桌返回游戏室即可。

StopServer:服务器停止服务,程序要立即结束。

…… 此处隐藏:891字,全部文档内容请下载后查看。喜欢就下载吧 ……
C# 黑白棋网络对战游戏 设计(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/132172.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)