248 lines
8.6 KiB
Protocol Buffer
248 lines
8.6 KiB
Protocol Buffer
syntax = "proto3";
|
||
package blackjack;
|
||
option go_package = "mongo.games.com/game/protocol/blackjack";
|
||
|
||
enum BlackJackPacketID {
|
||
PACKET_BlackJack_ZERO = 0; // 弃用消息号
|
||
CS_PLAYER_OPERATE = 5320; // 玩家操作
|
||
SC_ROOM_INFO = 5321; // 房间信息
|
||
SC_PLAYER_ENTER = 5322; // 玩家进入
|
||
SC_PLAYER_LEAVE = 5323; // 玩家离开
|
||
SC_ROOM_STATUS = 5324; // 房间状态
|
||
SC_PLAYER_BET = 5325; // 玩家下注
|
||
SC_PLAYER_Pos = 5326; // 玩家位置
|
||
SC_DEAL = 5327; // 发牌信息
|
||
SC_NOTIFY_BUY = 5328; // 通知买保险
|
||
SC_PLAYER_BUY = 5329; // 买保险结果
|
||
//SC_BANKER_CARDS = 5330; // 庄家手牌
|
||
SC_NOTIFY_OPERATE = 5331; // 通知闲家操作
|
||
SC_PLAYER_OPERATE = 5332; // 闲家操作
|
||
SC_NOTIFY_CARDS = 5333; // 通知牌型
|
||
SC_END = 5334; // 通知结算
|
||
SC_BUY_END = 5335; // 保险结算
|
||
SC_SIT = 5336; // 坐下
|
||
}
|
||
|
||
// CS_PLAYER_OPERATE
|
||
message CSBlackJackOP {
|
||
int32 OpCode = 1; // 操作码
|
||
// SubBet = 0 下注 Param[0] 下注位置0~4 Param[1] 下注金额
|
||
// SubBuy = 1 买保险 Params[0] = 1 买 0 不买
|
||
// SubFenPai = 2 分牌
|
||
// SubDouble = 3 双倍
|
||
// SubSkip = 4 停牌
|
||
// SubOuts = 5 要牌
|
||
// SubLeave = 6 离开
|
||
// SubSit = 7 坐下
|
||
repeated int64 Params = 2; // 操作参数
|
||
}
|
||
|
||
message BlackJackCards {
|
||
repeated int32 Cards = 1; // 一副手牌(-1代表暗牌)
|
||
int32 DCards = 2; // 双倍牌
|
||
int32 Type = 3; // 类型
|
||
repeated int32 Point = 4; // 点数
|
||
int32 State = 5; // 操作状态: 0 默认 1 已停牌
|
||
int32 Id = 6; // 手牌序号: 0 左侧手牌 1 右侧手牌
|
||
int32 Seat = 7; // 座位号
|
||
int64 BetCoin = 8; // 下注额
|
||
}
|
||
|
||
message BlackJackPlayer {
|
||
string Name = 1; // 名字
|
||
int32 SnId = 2; // 账号
|
||
int32 Head = 3; // 头像
|
||
int32 Sex = 4; // 性别
|
||
int64 Coin = 5; // 金币
|
||
int32 Pos = 6; // 位置
|
||
int32 Seat = 7; // 座位号
|
||
int32 Flag = 8; // 二进制标记 第一位:是否掉线(0:在线 1:掉线) 第二位:是否准备(0:未准备 1:已准备)
|
||
repeated BlackJackCards Cards = 9; // 手牌
|
||
int64 BetCoin = 10; // 下注金币
|
||
repeated string Params = 11; // 其他数据 如:ip 等
|
||
int32 Longitude = 12; // 经度
|
||
int32 Latitude = 13; // 纬度
|
||
string City = 14; // 城市 例:中国-河南省-郑州市
|
||
int32 NiceId = 15; // 靓号
|
||
string AgentCode = 16; // 代理商编号
|
||
int64 AllInCoin = 17; // 可推注值
|
||
int32 HeadOutLine = 18; // 头像框
|
||
int32 VIP = 19; // vip
|
||
int64 BaoCoin = 20; // 保险金
|
||
repeated int32 OpFlagParams= 21; // 操作标记参数
|
||
}
|
||
|
||
// SC_ROOM_INFO
|
||
message SCBlackJackRoomInfo {
|
||
int32 RoomId = 1; // 房间id
|
||
int32 Creator = 2; // 创建者SnId
|
||
int32 GameId = 3; // 游戏id
|
||
int32 RoomMode = 4; // 游戏模式
|
||
repeated int32 Params = 5; // 规则参数
|
||
int32 NumOfGames = 6; // 当前第几局
|
||
int32 BankerPos = 7; // 庄家位置
|
||
int32 State = 8; // 房间当前状态
|
||
int32 TimeOut = 9; // 消耗时间,单位:秒
|
||
repeated BlackJackPlayer Players = 10; // 房间内的玩家信息
|
||
int32 DisbandGen = 11; // 解散申请
|
||
int32 AgentId = 12; // 代开房者
|
||
repeated int32 ParamsEx = 13; // 比赛参数
|
||
int32 SceneType = 14; // 房间模式
|
||
int32 Pos = 15; // 操作位置
|
||
repeated int64 BetScope = 16; // 下注范围
|
||
int32 TotalOfGames=17; // 总局数
|
||
int32 Num = 18; // 剩余牌数
|
||
bool IsAudience = 19; // 当前玩家是否观众中
|
||
}
|
||
|
||
// SC_PLAYER_ENTER
|
||
message SCBlackJackPlayerEnter {
|
||
BlackJackPlayer Player = 1; // 玩家信息
|
||
}
|
||
|
||
// SC_PLAYER_LEAVE
|
||
message SCBlackJackPlayerLeave {
|
||
repeated int32 Pos = 1; // 玩家位置: 第一个是玩家的真实座位,其余为代玩座位,代玩是以前的规则,现在没有了
|
||
}
|
||
|
||
// SC_ROOM_STATUS
|
||
message SCBlackJackRoomStatus {
|
||
int32 Status = 1; // 状态码
|
||
// StatusWait = 0 // 等待状态
|
||
// StatusReady = 1 // 准备状态
|
||
// StatusBet = 2 // 下注状态 Param [最小下注,最大下注]
|
||
// StatusDeal = 3 // 发牌状态
|
||
// StatusBuy = 4 // 买保险状态
|
||
// StatusBuyEnd = 5 // 保险结算状态
|
||
// StatusPlayer = 6 // 闲家操作
|
||
// StatusBanker = 7 // 庄家操作
|
||
// StatusEnd = 8 // 结算状态
|
||
repeated int64 Param = 2;
|
||
}
|
||
|
||
// SC_PLAYER_BET
|
||
message SCBlackJackPlayerBet {
|
||
enum ErrorCode {
|
||
Success = 0; // 成功
|
||
ErrCoin = 1; // 下注金额错误
|
||
ErrBet = 2; // 当前座位先下注
|
||
ErrPos = 3; // 已下注
|
||
}
|
||
ErrorCode Code = 1; // 错误码
|
||
int32 Pos1 = 2; // 扣钱位置(玩家真实座位号)
|
||
int32 Pos2 = 3; // 下注位置
|
||
int64 Coin = 4; // 下注金额
|
||
int64 ReCoin = 5; // 剩余金额
|
||
}
|
||
|
||
//message BlackJackSeat {
|
||
// int32 Id = 1; // 座位号 1~5
|
||
// int32 Pos = 2; // 玩家真实座位号 1~5; (SnId > 0 && Id != Pos) 玩家代玩
|
||
// int32 SnId = 3; // 玩家账号; (SnId = 0) 空座位
|
||
// int64 BetCoin = 4; // 下注金额
|
||
//}
|
||
|
||
// SC_PLAYER_Pos
|
||
message SCBlackJackPos {
|
||
repeated int32 Seats = 1; // 玩家操作顺序,值是玩家的pos
|
||
}
|
||
|
||
// SC_DEAL
|
||
message SCBlackJackDeal {
|
||
repeated BlackJackCards Seats = 1; // 发牌信息
|
||
int32 Num = 2; // 剩余牌数
|
||
}
|
||
|
||
// SC_NOTIFY_BUY
|
||
message SCBlackJackNotifyBuy {
|
||
int32 Pos = 1; // 玩家位置
|
||
}
|
||
|
||
// SC_PLAYER_BUY
|
||
message SCBlackJackBuy {
|
||
enum ErrorCode {
|
||
Success = 0; // 成功
|
||
ErrCoin = 1; // 金额错误
|
||
ErrPos = 2; // 非当前玩家操作
|
||
UnBuy = 3; // 不买
|
||
}
|
||
ErrorCode Code = 1; // 错误码
|
||
int32 Pos = 2; // 扣钱位置
|
||
int64 Coin = 3; // 金额
|
||
int64 ReCoin = 4; // 剩余金额
|
||
}
|
||
|
||
// SC_BANKER_CARDS
|
||
//message SCBlackJackCards {
|
||
// repeated int32 Cards = 1; // 牌
|
||
//}
|
||
|
||
// SC_PLAYER_OPERATE
|
||
message SCBlackJackPlayerOperate {
|
||
enum ErrorCode {
|
||
Success = 0; // 成功
|
||
ErrCoin = 1; // 金币不足
|
||
ErrPos = 2; // 非当前玩家操作
|
||
ErrOp = 3; // 不能操作
|
||
}
|
||
ErrorCode Code = 1; // 错误码
|
||
int32 Operate = 2; // 操作码
|
||
// SubBet = 0 下注
|
||
// SubBuy = 1 买保险
|
||
// SubFenPai = 2 分牌
|
||
// SubDouble = 3 双倍
|
||
// SubSkip = 4 停牌
|
||
// SubOuts = 5 要牌
|
||
// SubLeave = 6 离开
|
||
// SubSit = 7 坐下
|
||
// SubSkipLeft = 40 左侧停牌(分牌后玩家有两堆牌)
|
||
// SubSkipBomb = 41 爆牌停牌
|
||
int32 Pos = 3; // 位置
|
||
repeated BlackJackCards Cards = 4; // 牌(只有新增的牌)
|
||
int64 ReCoin = 5; // 剩余金额 (分牌后剩余金额)
|
||
int32 Num = 6; // 剩余牌数
|
||
int64 BetCoin = 7; // 分数变化
|
||
// 给机器人发的数据
|
||
string CardsStr = 8;
|
||
int32 Seat = 9;
|
||
}
|
||
|
||
// SC_NOTIFY_OPERATE
|
||
message SCBlackJackNotifyOperate {
|
||
int32 Pos = 1; // 玩家位置
|
||
string Cards = 2; // 场上明牌
|
||
int32 Seat = 3; // 玩家座位号
|
||
int32 LastPos = 4;//上一个玩家位置
|
||
}
|
||
|
||
// SC_NOTIFY_CARDS
|
||
message SCBlackJackNotifyCards {
|
||
BlackJackCards Cards = 1; // 牌型信息
|
||
int32 Num = 2; // 剩余牌数
|
||
}
|
||
|
||
message BlackJackPlayerEnd {
|
||
int32 Pos = 1; // 位置
|
||
int64 LeftGain = 2; // 左比牌输赢分
|
||
int64 RightGain = 3; // 右比牌输赢分
|
||
int64 Gain = 4; // 总输赢分
|
||
int64 Coin = 5; // 剩余分
|
||
bool IsDouble = 6; // 是否双倍
|
||
|
||
}
|
||
|
||
// SC_END
|
||
// SC_BUY_END
|
||
message SCBlackJackEnd {
|
||
repeated BlackJackPlayerEnd Players = 1; // 玩家结算信息
|
||
bool IsBlackJack = 2; // 庄家是黑杰克
|
||
}
|
||
|
||
// SC_SIT
|
||
message SCBlackJackSit {
|
||
enum ErrorCode {
|
||
Success = 0; // 成功
|
||
ErrPos = 1; // 没有空位
|
||
}
|
||
ErrorCode Code = 1; // 错误码
|
||
} |