def ButtonEstimate(self, e): cp_no = self.gp.curr_player_no outlist = [] for i in range(0, 50): if self.flag_up[i] > 0: outlist.append(i) if len(outlist) > 0: player = libqp.gp_get_player(self.gp, cp_no) hand_p = libqp.gp_get_player_hand(player) hand_out = libqp.hand_new(len(outlist)) for j in outlist: card = libqp.hand_get(hand_p, j) libqp.hand_push(hand_out, card) libqp.gp_handtype(self.gp, hand_out) self.sel_handtype = hand_out.type self.sel_handparam = hand_out.param self.Refresh()
def OnRightDown(self, e): pt = e.GetPosition() cp_no = self.gp.curr_player_no if self.rcHand[cp_no].Inside(pt): outlist = [] for i in range(0, 50): if self.flag_up[i] > 0: outlist.append(i) if len(outlist) > 0: player = libqp.gp_get_player(self.gp, cp_no) hand_p = libqp.gp_get_player_hand(player) hand_out = libqp.hand_new(len(outlist)) for j in outlist: card = libqp.hand_get(hand_p, j) libqp.hand_push(hand_out, card) htype = libqp.hand_type() libqp.gp_handtype(self.gp, hand_out, htype) ret = libqp.gp_canplay(self.gp, hand_out, htype) if ret > 0: libqp.gp_play(self.gp, cp_no, hand_out) num = libqp.hand_num(hand_p) pokerW, pokerH = self.bmpPoker['0'].GetSize() self.rcHand[cp_no].SetWidth(pokerW + (num - 1) * self.pokerOffsetW) for i in range(0, 50): self.flag_up[i] = 0 self.Refresh() else: print "can't play:", htype.type, htype.logic_value1 else: # pass libqp.gp_pass(self.gp, cp_no) self.Refresh() else: # reset flag_up flag = 0 for i in range(0, 50): if self.flag_up[i] > 0: flag = 1 self.flag_up[i] = 0 if flag > 0: self.Refresh()
def OnRightDown(self, e): pt = e.GetPosition() cp_no = self.gp.curr_player_no if self.rcHand[cp_no].Inside(pt): outlist = [] for i in range(0, 50): if self.flag_up[i] > 0: outlist.append(i) if len(outlist) > 0: player = libqp.gp_get_player(self.gp, cp_no) hand_p = libqp.gp_get_player_hand(player) hand_out = libqp.hand_new(len(outlist)) for j in outlist: card = libqp.hand_get(hand_p, j) libqp.hand_push(hand_out, card) htype = libqp.hand_type() libqp.gp_handtype(self.gp, hand_out, htype) ret = libqp.gp_canplay(self.gp, hand_out, htype) if ret > 0: libqp.gp_play(self.gp, cp_no, hand_out) num = libqp.hand_num(hand_p) pokerW, pokerH = self.bmpPoker['0'].GetSize() self.rcHand[cp_no].SetWidth(pokerW + (num - 1) * self.pokerOffsetW) for i in range(0, 50): self.flag_up[i] = 0 self.Refresh() else: print "can't play:",htype.type,htype.logic_value1 else: # pass libqp.gp_pass(self.gp, cp_no) self.Refresh() else: # reset flag_up flag = 0 for i in range(0, 50): if self.flag_up[i] > 0: flag = 1 self.flag_up[i] = 0 if flag > 0: self.Refresh()