Beispiel #1
0
def play(player_id, hand, history):
    print 'History:'
    hand_over = False
    for i in history.split():
        player, code, x = i.split(':')
        if 0:
            pass
        elif 'S' == code:
            print '\t%-10s sits down with %d chips' % (player, int(x))
        elif 'A' == code:
            print '\t%-10s antes %d chips' % (player, int(x))
        elif 'D' == code:
            print '\t%-10s is dealt hole card face down' % (player, )
        elif 'U' == code:
            print '\t%-10s is dealt %s face up' % (player, x)
        elif 'C' == code:
            if 0 == int(x):
                print '\t%-10s checks' % (player, )
            else:
                print '\t%-10s calls %d' % (player, int(x))
        elif 'F' == code:
            print '\t%-10s folds' % (player, )
        elif 'B' == code:
            print '\t%-10s bets %d' % (player, int(x))
        elif 'R' == code:
            hand = monkeystud.str_to_hand(x)
            print '\t%-10s reveals %s -- %s' % (player, x, \
                  monkeystud.hand_value_str(monkeystud.best_hand_value(hand)))
        elif 'W' == code:
            print '\t%-10s wins %d' % (player, int(x))
            hand_over = True
        elif 'Z' == code:
            print '\t%-10s wins lucky %d' % (player, int(x))

    if hand_over:
        print 'Press return to continue.'
    else:
        print 'You are player "%s". Your hand is: %s. ' % (player_id, monkeystud.hand_str(hand))
        print '[F]old, (C)all, or (B)et?'
    s = None
    try:
        s = raw_input()
    except KeyboardInterrupt:
        raise
    s = s.upper()
    if s.startswith('F'):
        return 'F'
    if s.startswith('C'):
        return 'C'
    if s.startswith('B'):
        return 'B'
    return 'F'
Beispiel #2
0
def parse_history(history):
    g = Game()
    g.players = {}
    g.pot = 0
    g.player_count = 0
    for i in history.split():
        player_id, code, x = i.split(':')
        if not g.players.has_key(player_id):
            p = Player()
            p.seat = len(g.players)
            p.player_id = player_id
            p.chips = 0
            p.bet = 0
            p.hand = []
            p.history = []
            p.folded = True
            g.players[player_id] = p
     	g.players[player_id].history.append((code, x))
        if 0:
            pass
        elif 'S' == code:
            p.chips = int(x)
            g.player_count += 1
            pass
        elif 'A' == code:
            g.pot += int(x)
            g.players[player_id].chips -= int(x)
            g.players[player_id].bet += int(x)
        elif 'D' == code:
            g.players[player_id].hand.append(monkeystud.INVALID_CARD)
        elif 'U' == code:
            g.players[player_id].hand.append(monkeystud.str_to_card(x))
        elif 'C' == code:
            pass
        elif 'F' == code:
            g.players[player_id].folded = True
            g.player_count -= 1
        elif 'B' == code:
            g.players[player_id].bet += int(x)
        elif 'R' == code:
            hand = monkeystud.str_to_hand(x)
            g.players[player_id].cards = hand
            g.players[player_id].best_hand = monkeystud.best_hand_value(hand)
        elif 'W' == code:
            g.players[player_id].chips += int(x)
        elif 'Z' == code:
            g.players[player_id].chips += int(x)

    return g