def getFlowerRule(cls, playMode): """花规则获取工厂 输入参数: playMode - 玩法 返回值: 对应玩法的判和规则 """ if MPlayMode().isSubPlayMode(playMode, MPlayMode.QUESHOU): return MFlowerRuleQueshou() return MFlowerRuleBase()
def broadCastPiao(self, msgProcessor): for seatId in range(self.playerCount): # 向该seatId发送飘的结果 ftlog.debug('[MPiaoProcessor] seatId:', seatId, ' piaoState:', self.piaoStates[seatId], ' acceptPiaoState:', self.acceptPiaoStates[seatId]) # 卡五星只显示每个人自己选择漂数 if MPlayMode().isSubPlayMode(self.__player_mode, MPlayMode.LUOSIHU): if self.players[seatId]: msgProcessor.table_call_piao(self.players[seatId].userId, seatId, self.piaoPoints) if 0: if self.players[seatId]: piaoBiPiao = [ p + self.biPiaoPoint for p in self.piaoPoints ] msgProcessor.table_call_piao(self.players[seatId].userId, seatId, piaoBiPiao) else: bSend = False piao = [0 for _ in range(self.playerCount)] for target in range(self.playerCount): if target == seatId: continue ftlog.debug('[MPiaoProcessor] target:', target, ' piaoState:', self.piaoStates[target], ' acceptPiaoState:', self.acceptPiaoStates[target]) # seatId是否飘了,target是否接受 if (self.piaoStates[seatId] == self.STATE_PIAO_YES) and ( self.acceptPiaoStates[seatId][target] == self.ACCEPT_YES): piao[target] += self.piaoPoints[seatId] bSend = True # target是否飘了,seatId是否接受 if (self.piaoStates[target] == self.STATE_PIAO_YES) and ( self.acceptPiaoStates[target][seatId] == self.ACCEPT_YES): piao[target] += self.piaoPoints[target] bSend = True if bSend: msgProcessor.table_call_piao(self.players[seatId].userId, seatId, piao)