示例#1
0
 def send_prompts(self):
     proto = game_pb2.PromptResponse()
     for k, v in self.action_dict.items():
         prompt = proto.prompt.add()
         prompt.action_id = k
         prompt.prompt = v["prompt"]
         prompt.op_card.card = v["op_card"]
         for c in v["ref_cards"]:
             ref_card = prompt.ref_card.add()
             ref_card.card = c
     send(PROMPT, proto, self.session)
     self.table.logger.info(self.action_dict)
示例#2
0
 def load(self):
     if not self.p or not self.c:
         return
     if self.c == DRAW:
         proto = game_pb2.DrawResponse()
     elif self.c == DISCARD:
         proto = game_pb2.DiscardResponse()
     elif self.c == ACTION:
         proto = game_pb2.ActionResponse()
     elif self.c == DEAL:
         proto = game_pb2.DealResponse()
     elif self.c == HAIDI:
         proto = game_pb2.QH_HaiDiResponse()
     else:
         proto = game_pb2.PromptResponse()
     self.p = proto.ParseFromString(str(self.p))
示例#3
0
 def load(self):
     if not self.p or not self.c:
         return
     if self.c == DRAW:
         proto = game_pb2.DrawResponse()
     elif self.c == POKER_DISCARD:
         proto = game_pb2.PokerDiscardResponse()
     elif self.c == ACTION:
         proto = game_pb2.ActionResponse()
     elif self.c == DEAL:
         proto = game_pb2.PokerDealResponse()
     elif self.c == ROB_DEALER or ROB_DEALER_HAPPY:
         proto = game_pb2.RobLandLordReponse()
     elif self.c == NOTIFY_DISCARD:
         proto = game_pb2.PokerDiscardNotifyResponse()
     elif self.c == POKER_DOUBLE:
         proto = game_pb2.PokerDoubleResponse()
     else:
         proto = game_pb2.PromptResponse()
     self.p = proto.ParseFromString(str(self.p))
示例#4
0
    def send(self):
        if not self.lock:
            return
        self.release()

        if self.p:
            cmd = self.c
        else:
            cmd = PROMPT
            self.p = game_pb2.PromptResponse()

        for k, v in self.owner.action_dict.items():
            prompt = self.p.prompt.add()
            prompt.action_id = k
            prompt.prompt = v["prompt"]
            prompt.op_card.card = v["op_card"]
            for c in v["ref_cards"]:
                ref_card = prompt.ref_card.add()
                ref_card.card = c
        send(cmd, self.p, self.owner.session)
        self.owner.table.logger.info("send cmd ")
        self.owner.table.logger.info(self.owner.action_dict)