什么是俱乐部?
群主(代理)创建俱乐部后,可以邀请群成员成为俱乐部会员,便于管理。俱乐部玩法由创始人设置,只有俱乐部成员可以加入,并且俱乐部房间的房卡由创始人消耗。俱乐部成员无需创建房间,直接进行玩家匹配并开始游戏。
为什么要做俱乐部?
- 代理无需时刻关注玩家群,不再手动为群成员充卡或输入房号,操作便捷,提高收益。
- 代理设置好玩法后,玩家可直接进入系统自动分配的房间,避免和牌情况。
三个核心功能:
- 代理的俱乐部创建和查看功能。
- 玩家加入俱乐部的功能。
- 玩家进入游戏时,服务器自动创建俱乐部房间并安排座位,同时处理俱乐部内玩家的匹配。
数据库表与存储过程:
- clubinfo:记录代理创建的俱乐部信息。
- clubrooms:记录俱乐部生成的房间列表和玩家信息。
- clubplayers:记录玩家加入的俱乐部信息。
存储过程:
- 创建俱乐部相关:判断创建人身份,并记录到
clubinfo
表。 - 创建俱乐部房间相关:判断房卡数量,记录房间信息到
clubrooms
表,并获取房间信息列表。 - 玩家加入俱乐部相关:将玩家信息添加到
clubplayers
表,或从中移除。
代理身份创建俱乐部的开发流程:
- 客户端增加“创建俱乐部”界面,发送创建消息。
- 修改私人场服务器,将消息转发至游戏服务器。
- 修改游戏服务器,增加俱乐部数据库表和存储过程,并处理创建消息。
- 前端显示创建成功的提示。
加入俱乐部功能开发流程:
- 客户端新增“加入俱乐部”界面。
- 发送加入请求至私人场服务器。
- 显示返回的加入成功提示。
修改私人场服务器和游戏服务器:
- 在
PriaveteGame::OnEventSocketPrivate
中处理加入俱乐部消息,并转发至游戏服务器。 - 游戏服务器调用存储过程,将玩家信息加入
clubplayers
表,并返回成功消息。 - 私人场服务器将成功消息转发至客户端。
进入游戏的流程:
- 修改加入房间消息结构,附带俱乐部ID,客户端点击“开始游戏”后发送消息。
- 服务器处理房间消息,匹配或创建俱乐部房间并安排座位。
- 成功加入房间后,返回结果消息至客户端。
- 房间解散时,更新
clubrooms
表。 - 可将房间创建移至前端,供代理手动操作。
代理管理俱乐部的功能:
- 服务器和客户端增加
clubrooms
表的信息获取和处理。 - 前端加入代理功能列表显示和分享功能。