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))
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))
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,
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