| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 | 
							- package com.backfire.socket.socketProto;
 
- option java_package = "com.backfire.socket.socketProto";
 
- option java_outer_classname = "Doudizhu"; 
 
- /********************
 
-  * 房间协议
 
-  *******************/
 
-  
 
- //	1.5	 认证请求
 
- message AuthReq
 
- {
 
- 	optional	uint64 uid			= 1;	//用户id
 
- 	optional	string key			= 2;	//用户session key
 
- }
 
- //  1.6  认证回应
 
-  message AuthRpy
 
- {
 
- 	optional	uint32 ret			= 1;	//返回值,1成功,2失败
 
- 	optional	uint32 retcode		= 2;	//错误码,成功0
 
- 	optional    string retmsg       = 3;    //错误信息,扩展用
 
- }
 
- message LoginoutReq
 
- {
 
- 	optional 	uint32 cmd			=1;
 
- }
 
- //3 游戏模块
 
- message Ready
 
- {
 
- 	optional    uint32  isready     = 1;     //是否准备,如果不想在这个房间,可以发送这条指令,也可直接退出
 
- 	optional    uint32  handcardAnimMS  = 2; //发牌的动画时间(毫秒)
 
- }
 
- message ReadyReply
 
- {
 
-     optional    uint32  ret         = 1;     //
 
-     optional    uint32  retcode     = 2;     //
 
-     optional    string  retmsg      = 3;     //
 
-     repeated    uint32  seats       = 4;     //哪些位置已经准备,这个的做法再商量
 
- }
 
- //  3.1 房间内座位上玩家信息
 
- message PlayerInfo
 
- {
 
-     optional    uint32  seatId      = 1;     //座位ID
 
-     optional    uint64  uid         = 2;     //用户ID
 
-     optional    string  uName       = 3;     //用户名称
 
-     optional    string  icon        = 4;     //用户头像
 
-     optional    uint64  money       = 5;     //用户金币数
 
-     optional    uint32  level       = 6;     //用户等级
 
-     optional    uint32  sex         = 7;     //用户性别
 
- 	repeated	uint32  items		= 8;	 //用户道具
 
- 	optional	uint32	gameCount	= 9;	 //游戏场数
 
- 	optional	uint32	winCount	= 10;	 //胜利场数
 
- 	optional	uint32	dropCount	= 11;	 //掉线次数
 
- 	optional	uint32	runCount	= 12;	 //逃跑次数
 
- 	optional    uint64  lottery     = 13;    //彩券数目
 
- 	optional    string  sign        = 14;    //用户签名
 
- }
 
- //  3.2 广播房间内打牌人信息(通过座位)
 
- message BroadcastPlayerInfo
 
- {
 
-     repeated    PlayerInfo  seatList    = 1;
 
- }
 
- message RebindReq
 
- {
 
-     optional  	uint64  uid         = 1;
 
-     optional	string	session		= 2;
 
- }
 
- //重连
 
- message RebindRpy
 
- {
 
-     optional    uint32		ret         = 1;
 
-     optional    uint32		retcode     = 2;
 
-     optional    string		retmsg      = 3;
 
- 	optional	GameStart	gamestart	= 4;
 
- 	optional	QiangdizhuRpy			qdzRpy = 5;
 
- 	optional	BroadcastPlayerAction	playerAction = 6;
 
- 	optional	BroadcastPlayerInfo		playerinfo = 7;
 
- 	optional	HandCard	handcard	= 8;
 
- 	optional	uint32		seatid		= 9;
 
- 	repeated	uint32		playerCardsRemain = 10;	
 
- 	repeated	PlayerDepositRpy deposited = 11;	
 
- 	optional	uint32		roomType	= 12;
 
- 	repeated	BroadcastLaiziCard laizi = 13;
 
- 	optional    SeatRpy seatInfo    = 14;    //斗地主座位信息
 
- }
 
- //  3.3 用户坐下站起
 
- message SeatReq
 
- {
 
-     optional    uint64	uid         = 1;     //用户ID
 
-     optional    uint32  seatId      = 2;     //座位ID
 
-     optional    uint32  action      = 3;     //动作,1坐下,2站起
 
-     optional    uint32  autoready   = 4;     //1自动准备 2不自动准备
 
-     optional	uint32  roomid      = 5;     //房间ID
 
- }
 
- //  3.4 坐下站起状态返回
 
- message SeatRpy
 
- {
 
-     optional    uint32  ret         = 1;     //返回值,1成功,2失败
 
-     optional    uint32  retCode     = 2;     //错误码
 
-     optional    string  retMsg      = 3;     //用户提示信息
 
- 	optional    uint32  seatid      = 4;     //玩家的座位
 
- 	optional    uint32  action      = 5;     //玩家的动作
 
- 	optional	uint32  basepoint   = 6;     //底分
 
- 	optional	uint32  readytimeout= 7;	 //准备超时
 
- 	optional	uint32	awardRoom   = 8;     //大奖赛场 1是大奖赛,0为其他
 
- 	optional	uint32	laiziFlag   = 9;     //是否癞子场,0是普通场,1是普通癞子,2是超级癞子
 
- 	optional	string	roomName    = 10;     //场次名称
 
- }
 
- //  3.5 牌局开始
 
- message GameStart
 
- {
 
-     optional    uint32  gameNum     = 1;     //房间内第N局牌次
 
-     optional    uint32  bet         = 2;     //底注
 
-     repeated    CardInfo commcard   = 3;     //三张公牌
 
-     optional    uint32  dizhu       = 4;     //地主位置
 
-     optional    uint32  timeout     = 5;     //出牌超时
 
- }
 
- //  3.6 抢地主
 
- message QiangdizhuReq
 
- {
 
-     optional    uint32  ratio       = 1;    //抢地主,抢倍率
 
-     optional    uint32  giveup      = 2;    //放弃
 
- }
 
- //  3.7 抢地主返回
 
- message QiangdizhuRpy
 
- {
 
-     optional    uint32  ret         = 1;    //
 
-     optional    uint32  retcode     = 2;    //
 
-     optional    string  retmsg      = 3;    //
 
-     optional    uint32  ratio       = 4;    //返回当前倍率
 
-     optional    uint32  seatid      = 5;    //当前抢地主玩家位置
 
-     optional    uint32  timeout     = 6;    //抢地主倒计时时间
 
- 	optional	uint32  callCount	= 7;	//当前是第几次抢
 
- }
 
- //  3.8 单张牌信息
 
- message CardInfo
 
- {
 
-     optional    uint32 cardFace     = 1; //牌点,癞子模式时是癞子替用的牌 3-15,其中11:J 12:Q 13:K 14:A 15:2
 
-     optional    uint32 cardSuit     = 2; //花色 1方块,2黑葵,3红心,4黑桃
 
- 	optional	uint32 laiziFace	= 3; //癞子的原始牌点 0:不是癞子牌 3-15:与cardFace相同
 
- }
 
- //  3.9 发玩家手牌
 
- message HandCard
 
- {
 
-     repeated    CardInfo    handCardList = 1;    //用户手牌
 
- }
 
- //  3.10 玩家动作(出牌,pass,发表情等)
 
- message PlayerPlayActionReq
 
- {
 
-     optional    uint64  uid             = 1;     //用户ID
 
-     optional    uint32  action          = 2;     //动作
 
-     repeated    CardInfo  pushCardList  = 3;     //出牌列表
 
-     optional    uint32  emotionId       = 4;     //表情ID
 
- }
 
- //  3.11 返回玩家动作结果
 
- message PlayerPlayActionRpy
 
- {
 
-     optional    uint32  ret         = 1;     //返回值,1成功,2失败
 
-     optional    uint32  retCode     = 2;     //错误码,待定
 
-     optional    string  retMsg      = 3;     //用户提示,不能打此牌型; 超时(待定)
 
- }
 
- //  3.12 对手的动作(出牌,pass,表情等)
 
- message BroadcastPlayerAction
 
- {
 
-     optional    uint64  uid					= 1;     //用户id
 
- 	optional    uint32  seatid				= 2;	 //出牌玩家seat
 
-     optional    uint32  action				= 3;     //动作,1pass,2打牌,3发表情
 
-     repeated    CardInfo  pushCardList		= 4;     //对手出牌内容
 
-     optional    uint32  emotionId			= 5;     //表情ID
 
- 	optional    uint64  nextuid				= 6;     //下一个出牌玩家uid
 
- 	optional    uint32  nextseatid			= 7;     //下一个出牌玩家seatid
 
- 	optional    uint32  pointratio			= 8;     //当前倍率
 
- 	optional	uint32	cardType			= 9;	 //牌型
 
- 	optional	uint32	highcard			= 10;	 //主牌型的最大牌
 
- }
 
- message ChatReq{
 
-      optional     uint64     uId         	= 1;     //用户uid
 
-      required     uint32     seatId        	= 2;     //用户seatid座位
 
-      optional     uint32     roomId         = 3;     //房间
 
-      optional     string     chatMsg     	= 4;     //聊天信息
 
-      optional     uint32     faceId      	= 5;     //表情id
 
- }
 
- message BroadcastChat{
 
-      required     uint32     seatId          = 1;    //座位id
 
-      optional     string     chatMsg         = 2;    //聊天信息
 
-      optional     uint32     faceId          = 3;    //表情id
 
-      optional     uint32     roomId          = 4;    //table ID
 
- }
 
- //  3.13 牌局结束
 
- message GameOver
 
- {
 
- 	optional    uint32  winSide			= 1;	 //胜利方 1地主 2农民
 
-     repeated    GameResult  result		= 2;     //赢得金钱 1-3座位排列
 
- }
 
- message GameResult
 
- {
 
-     optional    uint32  seatid      = 1;     //用户座位号
 
-     optional    uint64  winMoney    = 2;     //赢得金钱
 
-     optional    uint32  winRatio    = 3;     //翻倍数 按座位
 
- 	optional    uint32	bombs	    = 4;	 //炸弹数 按座位
 
- 	repeated	CardInfo seatCards  = 5;	 //座位上剩余牌
 
- 	optional	uint32	spring		= 6;	 //春天 按座位
 
- 	optional	uint32	reward		= 7;	 //活动奖励 按座位
 
- 	optional	uint64	money		= 8;	 //用户的钱数
 
- 	optional    uint64  lottery     = 9;     //用户剩余彩券数
 
-     optional    uint64  winLottery  = 10;    //用户赢彩券数
 
- }
 
- //广播新增的癞子牌
 
- message BroadcastLaiziCard
 
- {
 
- 	optional	CardInfo	laizicard = 1;	//癞子牌
 
- 	optional	uint32		seatid	  = 2;	//小癞子的玩家座位
 
- }
 
- //托管请求
 
- message PlayerDepositReq
 
- {
 
- 	optional	uint32	isdeposited			= 1;	//1托管, 2取消托管
 
- }
 
- //托管回应
 
- message PlayerDepositRpy
 
- {
 
- 	optional	uint32	seatid				= 1;	//托管座位
 
- 	optional	uint64	uid					= 2;	//托管uid
 
- 	optional    uint32  isdeposited			= 3;	//1托管, 2取消托管
 
- 	optional    uint32  ret                 = 4;
 
-     optional    uint32  retcode             = 5;
 
-     optional    string  retmsg              = 6;
 
- }
 
 
  |