房卡麻将分析之“亲友圈功能”

作者:棋牌游戏    发布于3个月前 (2019-02-26)    阅读:  5,897  次

什么是亲友圈?

群主(代理)创建亲友圈后,可以邀请自已的群成员成为自已的亲友圈会员,方便管理。亲友圈玩法由创始人设置,只有亲友圈成员才能加入,并且亲友圈房间全部消耗创始人房卡。亲友圈成员无需创建房间,直接开始游戏进行玩家匹配。

为什么要做亲友圈?

(1)代理不再需要盯着玩家群,手动给群成员充卡,也不再需要输入房号,省事方便,提升收益。

(2)代理设置好玩法后,玩家点击进入,系统自动分配房间,避免了打和牌的情况。

三个核心功能:

(1)代理创建和查看亲友圈相关处理。

(2)玩家加入亲友圈相关处理。

(3)玩家要进游戏,服务器自动创建亲友圈房间并坐下,以及同亲友圈玩家查找匹配处理。

数据库表与存储过程: 需要创建三个表:

1.代理的亲友圈信息表clubinfo,用于记录某个代理创建的亲友圈的信息。

2.亲友圈生成的房间表clubrooms,用于记录亲友圈所生成的房间列表和对应房间玩家名单信息。

3.玩家加入亲友圈的名单表clubplayers,用于记录玩家加入了哪个亲友圈。

对应也需要创建个存储过程:

1.创建亲友圈相关:判断创建人身份,将创建信息记录到表clubinfo。

2.创建亲友圈房间相关:判断创建人房卡数量,将房间信息记录到表clubrooms,以及对应的创建人亲友圈房间信息列表获取。

3.玩家加入亲友圈相关:将玩家添加到亲友圈,以及从亲友圈移除。

代理身份创建亲友圈的开发流程:

(1)客户端增加“创建亲友圈”的界面,发送“创建亲友圈”的消息。

(2)修改私人场服务器,转发至游戏服务器。

(3)修改游戏服务器,增加亲友圈的数据表和相应存储过程以存读亲友圈数据库表,并增加相应的消息和数据结构,处理接收到消息后判断和调用。

(4)修改前端表现,在获取创建成功消息后提示成功。

加入亲友圈功能开发流程:

(1)客户端新增加一个“加入亲友圈”的界面。

(2)申请加入,向私人场服务器发送消息。

(3)获取返回消息后,显示提示。

修改私人场服务器和游戏服务器:

(1)PriaveteGame::OnEventSocketPrivate函数中加入处理申请加入亲友圈消息的处理,并转发给游戏服务器。

(2)游戏服务器接收到消息后调用存储过程,将玩家ID,名称加入到表clubplayers中,并返回加入成功消息。

(3)私人场服务器收到返回消息后转发给客户端。

 

进入游戏的流程:

(1)修改加入房间消息结构,附带亲友圈类型或ID,客户端点击“开始游戏”,发送消息结构给私人场服务器。

(2)修改服务器上PrivateTableInfo结构,附带亲友圈ID,在PriaveteGame::OnTCPNetworkSubJoinPrivate函数中接收到加入房间消息,如果是亲友圈,就遍历在线房间,匹配亲友圈ID,如果找到此房间里有空座位,就坐下。如果没有找到房间,就调用创建房间函数,创建附带亲友圈ID的新房间并坐下,发送更新clubrooms表的消息给游戏服务器进行数据表更新。

(3)成功加入房间后,返回加入房间结果消息给客户端。

(4)房间解散时,也要发送更新clubrooms表的消息给游戏服务器进行数据表更新。

(5)如果不允许自动创建房间,也可以把创建房间这部分移到前端供代理手动创建房间。

 

代理管理亲友圈的功能:

(1)在服务器和客户端增加对于数据表信息clubrooms的获取消息和处理。

(2)在前端部分对于代理功能加入相应的列表显示和分享功能。

 

 

房卡麻将分析之“亲友圈功能”-棋牌视角

 

添加新评论

已有 1 条评论

  1. 曾培菊 曾培菊

    亲友圈ID怎样申请

    回复