Example #1
0
    def do_create_hand(self):
        def create_players():
            players = []
            button = None
            for line in sys.stdin:
                line = line.strip()
                if not line or line.startswith('#'):
                    continue
                data = re.split(r'\s+', line, 4)
                sit = str(data[0])
                if sit.endswith('b'):
                    sit = sit[:-1]
                    button = int(sit)
                players.append((int(sit),
                                Player(data[1],
                                       transport.create(data[3], data[4]),
                                       data[2])))
            return players, button

        def create_state(players, button):
            table = Table()
            deck = Deck()
            deck.shuffle()
            for (sit, player) in players:
                table.sit_in(player, sit)
            if button is None:
                table.rotate_button()
            else:
                table.button = button
            return HandState(table, deck)

        dest = sys.stdout
        players, button = create_players()
        state = create_state(players, button)
        dest.write(handstate_repr.dump(state, False))
Example #2
0
    def do_create_hand(self):
        def create_players():
            players = []
            button = None
            for line in sys.stdin:
                line = line.strip()
                if not line or line.startswith('#'):
                    continue
                data = re.split(r'\s+', line, 4)
                sit = str(data[0])
                if sit.endswith('b'):
                    sit = sit[:-1]
                    button = int(sit)
                players.append(
                    (int(sit),
                        Player(data[1],
                            transport.create(data[3], data[4]), data[2])))
            return players, button

        def create_state(players, button):
            table = Table()
            deck = Deck()
            deck.shuffle()
            for (sit, player) in players:
                table.sit_in(player, sit)
            if button is None:
                table.rotate_button()
            else:
                table.button = button
            return HandState(table, deck)

        dest = sys.stdout
        players, button = create_players()
        state = create_state(players, button)
        dest.write(handstate_repr.dump(state, False))
Example #3
0
 def do_play_hand(self):
     source = sys.stdin
     dest = sys.stdout
     state = handstate_repr.parse(source)
     croupier = Croupier(state, sys.stderr)
     croupier.conduct()
     dump = handstate_repr.dump(state, False)
     print >> dest, dump,
Example #4
0
 def do_play_hand(self):
     source = sys.stdin
     dest = sys.stdout
     state = handstate_repr.parse(source)
     croupier = Croupier(state, sys.stderr)
     croupier.conduct()
     dump = handstate_repr.dump(state, False)
     print >> dest, dump,
Example #5
0
def diff(state, expected):
    tmp = file(tempfile.mkstemp()[1], 'w')
    tmp.write(handstate_repr.dump(state, False))
    tmp.close()
    code = os.system('diff -b %s %s' % (expected, tmp.name))
    return not code