def parse_table(el): table = Table() table.button = int(el.get('button')) for p_el in el: tr = p_el.find('transport').attrib p = Player( p_el.get('name'), transport.create(tr['type'], tr['service']), int(p_el.get('stack')) ) table.sit_in(p, int(p_el.get('sit'))) return table
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)