多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
>[danger]当有玩家加入游戏时,服务器推送给客户端数据,数据会推送到亲友圈和游戏房间 ``` $return['type']="addUser"; $return['users']=$users;//在房间中,游戏玩家列表 $return['uid']=$uid;//当前加入玩家的用户id $return['p']=0;//当前玩家在桌子上的位置 $return['config']=array( 'roomId'=>$roomid,//房间id "groupId"=>$room['room']['groupId'],//亲友圈id 'roomGroup'=>$room['room']['roomGroup'],//亲友圈号 'players'=>$gamePlayers,//几个玩家开始游戏 'banker'=>$room['game']['banker'],//庄家 'gameNum'=>$room['room']['gameNum'],//房间游戏总共多少局 'currentNum'=>$room['room']['currentNum'])//游戏当前局数 'number'=>$room['room']['number']);//游戏桌号 ``` >$users是一个json格式对象,格式为 ``` { p:{ userSign:1, //玩家id nickName:'昵称',//玩家昵称 headImg:'img/headImg.jpg', //玩家头像 ready:'1', //玩家是否准备,1:准备,0:未准备 point:0', //玩家积分 p:1//玩家在桌上的位置 } } p:玩家在桌上的真实位置 ``` >[danger]当有玩家重新连接到游戏中,服务器推送给客户端数据,数据会推送到亲友圈和游戏房间 ``` $return['type']="reConnec"; $return['users']=$users;//在房间中,游戏玩家列表 $return['uid']=$uid;//当前玩家uid $return['p']=0;//当前玩家在桌子上的位置 $return['isOpen']= $isopen ;//游戏是否开始 $return['drawing']=0//游戏是否听牌 $return['cardLength']= $isopen ? count($room['cards']) : 136;//麻将张数 $return['cardRecord']=0//麻将出牌记录 $return['config']=array( 'roomId'=>$roomid,//房间id "groupId"=>$room['room']['groupId'],//亲友圈id 'roomGroup'=>$room['room']['roomGroup'],//亲友圈号 'players'=>$gamePlayers,//几个玩家开始游戏 'banker'=>$room['game']['banker'],//庄家 'gameNum'=>$room['room']['gameNum'],//房间游戏总共多少局 'currentNum'=>$room['room']['currentNum'])//游戏当前局数 'number'=>$room['room']['number']);//游戏桌号 ``` >$users是一个json格式对象,格式为 ``` { p:{ userSign:1, //玩家id nickName:'昵称',//玩家昵称 headImg:'img/headImg.jpg', //玩家头像 ready:'1', //玩家是否准备,1:准备,0:未准备 point:0', //玩家积分 p:1//玩家在桌上的位置 } } p:玩家在桌上的真实位置 ``` >[danger]当有玩家离开游戏时,服务器推送给客户端数据,数据会推送到亲友圈和游戏房间 ``` $return['type']="removeUser"; $return['roomid']=10; //房间id $return['users']=$users;//在房间中,游戏玩家列表 $return['uid']=$uid;//当前离开玩家的用户id $return['p']=0;//当前离开玩家在桌子上的位置 $return['banker']=0;//当前游戏庄家的位置 ``` >$users是一个json格式对象,格式为 ``` { p:{ userSign:1, //玩家id nickName:'昵称',//玩家昵称 headImg:'img/headImg.jpg', //玩家头像 ready:'1', //玩家是否准备,1:准备,0:未准备 point:0', //玩家积分 p:1//玩家在桌上的位置 } } p:玩家在桌上的真实位置 ``` >[danger]当游戏开始是,数据会推送到亲友圈 ``` $returnGroup['type'] = "gameOpen"; $returnGroup['users'] = $users; $returnGroup['gameNum'] = $room['room']['gameNum'];//游戏总局数 $returnGroup['currentNum'] = $room['room']['currentNum'];//当前游戏局数 $returnGroup['roomid'] = $roomid; ``` >$users是一个json格式对象,格式为 ``` { p:{ userSign:1, //玩家id nickName:'昵称',//玩家昵称 headImg:'img/headImg.jpg', //玩家头像 p:1//玩家在桌上的位置 } } p:玩家在桌上的真实位置 ``` >[danger]游戏当胡牌后返回前局数的战绩 ``` $return['type'] = "gains"; $return['winType'] = $p;//胡牌类型,1为七大对,3一条龙,4清一色 $return['winP'] = $p;//-1为自摸,0为普通胡牌大于0为点炮玩家位置,-2和牌 $return['p'] = $p;//胡牌玩家位置 $return['uid'] = $uid;//胡牌玩家uid $return['users'] = $users;//会员信息 $return['nextBanker'] = $p//下一个庄家位置 $return['banker'] = $room['game']['banker'];//当前庄家位置 $return['currentNum'] = 8;//当前游戏局数 $return['gameNum'] = 2;//游戏总局数 $return['cards'] = $userHandCards;//玩家手牌 $return['totalGainsId'] = $insertId//玩家查找总战绩标识id $return['roomid'] = $roomid; $return['gameType'] = "Points"; $return['card'] = 0;//所胡的牌 $return['sign'] = "Points"; ``` >$users是一个json格式对象,格式为 ``` { p:{ userSign:1, //玩家id nickName:'昵称',//玩家昵称 headImg:'img/headImg.jpg', //玩家头像 point:0', //玩家当前积分 winPoint:0', //玩家当前游戏所赢积分,整数为赢,负数为输 p:1//玩家在桌上的位置 } } p:玩家在桌上的真实位置 ``` >$userHandCards是一个json格式对象,格式为 ``` { p:{ cards:{1,2,3},//当前玩家的手牌 M3:{12:3},//当前玩家碰牌,key为所碰的牌值,值为当前碰牌为那个位置的玩家所点出 M4:{12:3},//当前玩家明杠,key为所碰的牌值,值为当前碰牌为那个位置的玩家所点出 M5:{12:3},//当前玩家暗杠,key为所碰的牌值,值为当前碰牌为那个位置的玩家所点出 } } p:玩家在桌上的真实位置,M3,M4,M5有可能不存在 ``` >[danger]玩家获取总战绩 >客户端发送 ``` { type:"totalGains", totalGainsId:1, //战绩表示id,relatives_group_roomlog数据表中的id } ``` >服务器返回数据格式 ``` { type:"totalGains", time:2018-3-17 3:15:20, //游戏时间 users:$user, //用户数据 number:1, //房间序号 } ``` >$users是一个json格式对象,格式为 ``` { key:{ id:1, //玩家id nickname:'昵称',//玩家昵称 headpath:'img/headImg.jpg', //玩家头像 point:0, //玩家所赢积分 整数赢 负数输 } } ``` >[danger]下局游戏准备 >客户端发送 ``` { type:"ready", roomid:10, //房间id gameType:"Points", //游戏类型 sign:"Points" //标识文件 } ``