自用组帧工具

it2025-05-31  4

#coding:utf-8 BUTTON = 'button' # 庄稼??

?

?

? L_BLIND = 'little_blind' # 小盲注 B_BLIND = 'big_blind' # 小盲注 SEAT = 'seat' HOLD = 'hold'   # 手牌 ASK  = 'ask'    # ?

?

?

??

FIRST= 'first'  # 第一次发三张牌 ????? TURN = 'turn'   # 转牌 RIVER= 'river'  # 河牌 ACT  = 'act' # ?

???

HEI  = 'hei' HONG = 'hong' MEI  = 'mei' FANG = 'fang' LITTLE_BLIND_MONEY = 500 START_MONEY = 8000 START_BET = 2000 input_info = [     (SEAT, 2, 0), # 共2人,我是第0位,0位表示庄稼     (HOLD, [(HEI, 'A'), (HEI, 'K')]),     (ACT, [0,]), # -1=放弃, 0=让(或跟), n=加n注     (FIRST, [(HEI, 'Q'), (HEI, 'J'), (HEI, '10')]),     (ACT, [0, 1]),     (TURN, [(HONG, '2'), ]),     (ACT, [0, 1]),     (RIVER, [(FANG, '3'), ]),     (ACT, [0, 1]), ] def analyse_SEAT(one_info):     person_cnt = one_info[1]     my_seat = one_info[2]          core = ''     for i in range(person_cnt):         if my_seat == i:             pid = 3001         else:             pid = 9001+i                      if i == 0:             extra_info = BUTTON         elif i == 1:             extra_info = L_BLIND         elif i == 2:             extra_info = B_BLIND         else:             extra_info = ''                  this_line = '{0} {1}: {2} {3} \n'.format(extra_info, pid, START_BET, START_MONEY) # ??????         core += this_line     return SEAT+'/ \n'+ core +'/'+SEAT + ' \n' def analyse_HOLD(one_info):     '''     hold\      HEI 10      MEI 9      \hold      '''     body_info = one_info[1]     return '''{0}\  {1} {2}  {3} {4}  \{0} '''.format(HOLD,         body_info[0][0], body_info[0][1],         body_info[1][0], body_info[1][1],         )      def analyse_FIRST(one_info):     body_info = one_info[1]     return '''{0}\  {1} {2}  {3} {4}  {5} {6}  \{0} '''.format(FIRST,         body_info[0][0], body_info[0][1],         body_info[1][0], body_info[1][1],         body_info[2][0], body_info[2][1],         )                   def analyse_TURN(one_info):     body_info = one_info[1]     return '''{0}\  {1} {2}  \{0} '''.format(TURN,         body_info[0][0], body_info[0][1],         )                   def analyse_RIVER(one_info):     body_info = one_info[1]     return '''{0}\  {1} {2}  \{0} '''.format(RIVER,         body_info[0][0], body_info[0][1],         )                   # ????? def get_pid(i):     return 9001 + i               def analyse_ACT(one_info):     '''     ASK\      9001: 0 8000 500 call      total: xxxx      \ASK      '''          core = ''     for i,itm in enumerate(one_info[1]):         if 0 == itm:             extra_info = 'check'             pay = LITTLE_BLIND_MONEY # ????         elif -1 == itm: # ???? 有人弃牌会引发组装错误             extra_info = 'fold'             pay = 0         else:             extra_info = 'raise'             pay = LITTLE_BLIND_MONEY*itm                  pid = get_pid(i)         cur_bet = 500 # ????

须要动态获取         cur_money = 8000                  this_line = '{0}: {1} {2} {3} {4} \n'.format(             pid, cur_bet, cur_money, pay, extra_info)         core += this_line     total_pot = 1000 # ?

?

???

    rtn = ''' {0}\  {1}total: {2}  \{0}  '''.format(ASK, core, total_pot) # ??

???

??

?

    return rtn               def analyse_one(one_info):     type = one_info[0]     if type == SEAT:         rtn = analyse_SEAT(one_info)     elif type == HOLD:         rtn = analyse_HOLD(one_info)     elif type == FIRST:         rtn = analyse_FIRST(one_info)     elif type == TURN:         rtn = analyse_TURN(one_info)     elif type == RIVER:         rtn = analyse_RIVER(one_info)     elif type == ACT:         rtn = analyse_ACT(one_info)     else:         print 'type error'                      return rtn def analyse(all_info):     rtn = ''     for itm in all_info:         rtn += analyse_one(itm)     return rtn           print analyse(input_info)

转载于:https://www.cnblogs.com/bhlsheji/p/5322768.html

相关资源:DLT698-45协议调试工具
最新回复(0)