syntax = "proto3"; package pb; option go_package = "common/proto/pb"; import "code.proto"; // 奖励档位 enum ColorPrizeArea { CPA_Single_0 = 0; // 单色投注区域开出单色 CPA_Single_1 = 1; // 单色投注区域开出双色 CPA_Single_2 = 2; // 单色投注区域开出三色 CPA_Double = 3; // 双色投注区域 CPA_Three = 4; // 三色投注区域 } // 投注区域赔率范围配置信息 message ColorPrizeAreaRange { ColorPrizeArea pos = 1; // 下注区域为单色区0-2时,该值表明是单色还是双色,三色不同的赔率 int64 minMul = 2; int64 maxMul = 3; } // color玩法配置信息 message ColorRoomConfig { repeated int64 betList = 3; // 下注档位 repeated ColorPrizeAreaRange mulRangeConfig = 5; // 赔率显示 } //骰子颜色类型 enum ColorType { CT_Yellow = 0; // 黄色 CT_White = 1; // 白色 CT_Pink = 2; // 粉色 CT_Blue = 3; // 蓝色 CT_Red = 4; // 红色 CT_Green = 5; // 绿色 } // 押注区域 enum ColorBetArea { CBA_Yellow = 0; // 黄色 CBA_White = 1; // 白色 CBA_Pink = 2; // 粉色 CBA_Blue = 3; // 蓝色 CBA_Red = 4; // 红色 CBA_Green = 5; // 绿色 CBA_Yellow2 = 6; // 双黄色 CBA_White2 = 7; // 双白色 CBA_Pink2 = 8; // 双粉色 CBA_Blue2 = 9; // 双蓝色 CBA_Red2 = 10; // 双红色 CBA_Green2 = 11; // 双绿色 CBA_Yellow3 = 12; // 三黄色 CBA_White3 = 13; // 三白色 CBA_Pink3 = 14; // 三粉色 CBA_Blue3 = 15; // 三蓝色 CBA_Red3 = 16; // 三红色 CBA_Green3 = 17; // 三绿色 } //游戏阶段 enum ColorGameStatus { CGS_WaitStart = 0; // 等待准备 CGS_Start = 1; // 开始 CGS_Betting = 2; // 下注 CGS_BetEnd = 3; // 下注结束 CGS_OpenThreeDice = 4; // 开三色 CGS_Settle = 5; // 结算 } // 等待状态下房间显示信息 message ColorRoomWaitStart { NtfColorTrend Trends = 1; // 路途显示 } // 开始房间显示信息 message ColorRoomStart { NtfColorGameStart start = 1; NtfColorTrend Trends = 2; // 路途显示 } // 下注显示信息 message ColorRoomBetting { NtfColorBetAreaInfo betAreaInfo = 1; // 每个投注区域的下注人数,下注金额显示 } // 结束下注显示信息 message ColorRoomEndBet { NtfColorEndBetting areaMul = 1; // 结束下注后,更新每个投注区域的赔率 NtfColorBetAreaInfo betAreaInfo = 2; // 每个投注区域的下注人数,下注金额显示 NtfColorBigUser bigUser = 3; // 大客数据 } // 开骰子显示信息 message ColorRoomOpenThreeDice { NtfColorOpenThreeDice dices = 1; } // 结算信息 message ColorRoomSettle { NtfColorSettle settle = 1; } // 进房间发送房间当前所有信息及状态 message NtfColorRoomInfo { ColorGameStatus status = 1; int64 endTime = 2; // 该状态结束时间 ColorRoomConfig config = 101; // 房间配置 ColorUser user = 100; ColorRoomWaitStart waitStart = 3; // 等待状态房间数据 ColorRoomStart start = 4; ColorRoomBetting betting = 5; ColorRoomEndBet endBet = 6; ColorRoomOpenThreeDice openThreeDice = 7; ColorRoomSettle settle = 8; } message NtfColorGameStart { int64 endTime = 1; // 倒计时3秒后游戏开始,endTime = statusTime+3秒 int64 jackpot = 2; // jackpot池 } message NtfColorBetting { int64 endTime = 1; // 结束时间 } message ReqColorBetting { ColorBetArea area = 1; int64 bet = 2; } message RspColorBetting { ErrCode code = 1; ColorBetAreaInfo areaInfo = 2; } message ColorBetAreaInfo { ColorBetArea area = 1; // 投注区域 int64 totalBet = 2; // 所有玩家总投注金额 int32 playerNum = 3; // 投注该区域人数 int64 myBet = 4; // 我的投注金额 } // 更新投注区域信息 message NtfColorBetAreaInfo { repeated ColorBetAreaInfo areaInfos = 1; } // 奖励类型 enum ColorPrizeType { CPT_Normal = 0; // 普通奖励 CPT_Big = 1; // 爆奖 CPT_Jackpot = 2; // jackpot奖 } // 投注区域实际赔率,奖励类型 message ColorBetAreaMul { ColorBetArea area = 1; // 区域位置 ColorPrizeArea prizeArea = 2; // 奖励档位 ColorPrizeType prizeType = 3; // 奖励类型 int64 mul = 4; // 赔率 } // 结束投注 message NtfColorEndBetting { int64 endTime = 1; // 结束时间 repeated ColorBetAreaMul areaMul = 2; // 更新区域实际赔率 int64 jackpot = 3; // 下注结束,更新jackpot值 } message NtfColorOpenThreeDice { repeated ColorType color = 1; // 骰子开出颜色 3个 int32 aniRouteIndex = 3; // 动画路径 repeated ColorBetArea winArea = 4; // 中奖区域高亮 } // 玩家结算信息 message NtfColorSettle { message UserBetAreaMul { ColorBetAreaMul areaMul = 1; int64 bet = 2; // 玩家在该区域投注金额 int64 win = 3; // 该区域税前赢钱 int64 realWin = 4; // 税后赢钱 } repeated UserBetAreaMul userAreaWin = 1; // 每个投注区域的下注及输赢 repeated ColorType threeDice = 2; // 骰子开出颜色 int64 totalWin = 3; // 总输赢,税后包含本金 int64 totalBet = 4; // 总投注 int64 totalWinBaseBet = 6; // 赢钱区域的总投注 int64 tax = 5; // 税 } //游戏中几个玩家的数据 message ColorUser { string Nick = 1; // 用户昵称 string Head = 2; // 头像 int64 Score = 3; // 分数 int32 SeatId = 4; //在场景中的座位id int64 UserID = 5; //用户ID } // 结束下注,更新大客投注信息 message NtfColorBigUser { repeated ColorBigUser bigUser = 34; // 大客投注 } // 路途展示 message NtfColorTrend { message ColorRate { ColorType color = 1; int32 rate = 2; } repeated ColorRate colorRate = 1; // 最近30局各颜色中奖概率 } // 赢钱或下注最多的6个玩家 message ColorBigUser { string nickName = 5; //名字 string avatar = 2; int64 winChips = 1; // 赢取金币 repeated int64 areaId = 3; // 赢钱区域(前6个) } // 系统维护或流局 message NtfColorMaintain { string msg = 2; // 维护消息 int64 gold = 3; // 玩家金币重置为该值 }