+----------------------------------+ | Bertram收到的指令列表 | | 2025.12.5 | +----------------------------------+ 注意: 1、收到post数据,必须回答;没有正常的应答,就发送文档最下方的无用应答; 2、所有的msgName,都是宏定义,有专门的字符串的值; 3、所有的turnType、OpenType,都是宏定义,有专门的数字的值; 1、游戏开始 let webMsg = { msgName: GSUserMsg.GameStart, roomID: roomID, //这桌唯一的ID号 jsonObj: t } let t: GSUserMsg.tGameStartNT = { juCount: 1, playingChairNos: [0,1,2,3], gameData: GZMsg.tGameStartData, } let gameStartData:GZMsg.tGameStartData = { juCount: 1, //第几局 zhuangChairNo: 2, //庄家号 mainCard: {3,4}, 对你没用, otherMainCard: 对你没用, mCard: 对你没用, oCard: 对你没用, bloodCount: 3, //几张血 } //-------------------------------------- 2、手牌增加 webMsg.push({ msgName: GameCommonMsg.DealCards, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', }) //-------------------------------------- 3、叫主同步(亮主请求,可多次) let webMsg = { msgName: GZMsg.CallStatus, zhuangChairNo: 3, mainCard: 8, mainSuit: 'H', //主花色 mainValue: 8, //打几 nextCallCount: 2, //可以几张叫主 } 第二局以后用户亮主(亮主应答,可多次) 此处可以用亮主应答,也可以用改主应答 //-------------------------------------- 4、给用户发送 可以改主 let webMsg = { msgName: GameCommonMsg.Turn, jsonObj: bertramTurnInfo, } bertramTurnInfo = { turnType: GZDefine.TurnType.GaiMain, postion: 'lord_up', bloodCount: 3, //几张血 mainSuit: 'H', //主花色 mainValue: 8, //打几 } //-------------------------------------- 5、给用户发送 错误信息 let webMsg = { msgName: GSUserMsg.Error, jsonObj: t, } t={ errCode: errCode, errMsg: errMsg, needRestart: needRestart == null ? false : needRestart, } //-------------------------------------- 6、给所有用户发送暴动信息 let webMsg = { msgName: GameCommonMsg.OpenCard, jsonObj: bertramOpenInfo, } bertramOpenInfo = { openType: GZDefine.OpenType.BaoDong, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } //-------------------------------------- 7、给所有用户发需要进贡(请求) let webMsg = { msgName: GameCommonMsg.Turn, jsonObj: bertramTurnInfo, } bertramTurnInfo = { turnType: GZDefine.TurnType.BloodLoser, postion: 'lord_up', bloodCount: 3, //几张血 mainSuit: 'H', //主花色 mainValue: 8, //打几 } //-------------------------------------- 8、给所有用户发送 某人进贡 bertramOpenInfo = { openType: GZDefine.OpenType.BloodLoser, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } let webMsg = { msgName: GameCommonMsg.OpenCard, jsonObj: bertramOpenInfo, } //-------------------------------------- 9、给所有用户发需要回贡(请求) let webMsg = { msgName: GameCommonMsg.Turn, jsonObj: bertramTurnInfo, } bertramTurnInfo = { turnType: GZDefine.TurnType.BloodWinner, postion: 'lord_up', bloodCount: 3, //几张血 mainSuit: 'H', //主花色 mainValue: 8, //打几 } //-------------------------------------- 10、给所有用户发送 某人回贡 bertramOpenInfo = { openType: GZDefine.OpenType.BloodWinner, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } let webMsg = { msgName: GameCommonMsg.OpenCard, jsonObj: bertramOpenInfo, } //-------------------------------------- 11、给所有用户发送 干锅 bertramOpenInfo = { openType: GZDefine.OpenType.GanGuo, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } let webMsg = { msgName: GameCommonMsg.OpenCard, jsonObj: bertramOpenInfo, } //-------------------------------------- 12、给所有用户发送 亮底牌 bertramOpenInfo = { openType: GZDefine.OpenType.LiangDi, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } let webMsg = { msgName: GameCommonMsg.OpenCard, jsonObj: bertramOpenInfo, } //-------------------------------------- 13、给所有用户 需要扣底(请求) let webMsg = { msgName: GameCommonMsg.Turn, jsonObj: bertramTurnInfo, } bertramTurnInfo = { turnType: GZDefine.TurnType.KouDi, postion: 'lord_up', bloodCount: 3, //几张血 mainSuit: 'H', //主花色 mainValue: 8, //打几 } //-------------------------------------- 14、给所有用户 或 庄家 发送扣底结果 bertramOpenInfo = { openType: GZDefine.OpenType.KouDi, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } let webMsg = { msgName: GameCommonMsg.OpenCard, jsonObj: bertramOpenInfo, } //-------------------------------------- 15、给所有用户 需要扣王(请求) let webMsg = { msgName: GameCommonMsg.Turn, jsonObj: bertramTurnInfo, } bertramTurnInfo = { turnType: GZDefine.TurnType里关于扣王的一些列常量, postion: 'lord_up', bloodCount: 3, //几张血 mainSuit: 'H', //主花色 mainValue: 8, //打几 } //-------------------------------------- 16、给所有用户 发送扣王结果 bertramOpenInfo = { openType: GZDefine.OpenType.KW_Do, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } let webMsg = { msgName: GameCommonMsg.OpenCard, jsonObj: bertramOpenInfo, } //-------------------------------------- 17、给所有用户 需要出牌(请求) let webMsg = { msgName: GameCommonMsg.Turn, jsonObj: bertramTurnInfo, } bertramTurnInfo = { turnType: GZDefine.TurnType.OutCard, postion: 'lord_up', bloodCount: 3, //几张血 mainSuit: 'H', //主花色 mainValue: 8, //打几 } //-------------------------------------- 18、给所有用户发送 某用户出牌结果 let webMsg:BertramCards = { msgName: GameCommonMsg.OutCard, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } //-------------------------------------- 19、给所有用户发送闲家捡分的情况 bertramOpenInfo = { openType: GZDefine.OpenType.ScoreCards, postion: 'lord_up', cards: '[3,'D'],[9,'S'],[8,'H']', } let webMsg = { msgName: GameCommonMsg.OpenCard, jsonObj: bertramOpenInfo, } +------------------------------------+ | Bertram 要发送 的指令列表 | | 2025.12.9 | +------------------------------------+ 不管发给你的是什么turn请求,统一返回下列json格式: { openType: number, cards: string, } openType说明: 1、除扣王以外,这个值无意义,返回0即可; 2、扣王:如果有扣的王,openType = GZDefine.OpenType.KW_Do; 如果没有扣王,openType = 根据上面第15项的turnNT.turnType来决定选择了哪个按钮; 3、如果这把没有结果返回,只是应答一下,openType=101; cards说明: 1、统一保存,你要返回的牌 1、第二局以后用户发送亮主的指令,比如:'[3,'D'],[9,'S'],[8,'H']'