def lead(self, player, card): p = player name = p.name if not p.lead(card): return emit('broadcast', { 'type': 'lead', 'name': name, 'card': card.to_str(), 'remainCardsNum': len(p.cards) }, broadcast=True) if not p.is_ai: emit('push_cards', {'data': Card.cards_to_str(p.cards)}) emit( 'broadcast', { # 'name': '轮到 {} 出牌'.format(table.can_do_player_name()), 'name': table.can_do_player_name(), 'type': 'next' }, broadcast=True) log(name, 'lead', card, 'finish', Card.cards_to_str(p.cards)) uno_serv.table.check_ai()
def draw(self, player): p = player name = p.name if not p.draw(): return emit('broadcast', { 'type': 'draw', 'name': name, 'remainCardsNum': len(p.cards) }, broadcast=True) if not player.is_ai: emit('push_cards', {'data': Card.cards_to_str(p.cards)}) emit( 'broadcast', { # 'name': '轮到 {} 出牌'.format(table.can_do_player_name()), 'name': self.table.can_do_player_name(), 'type': 'next' }, broadcast=True) self.table.check_ai()
def connect(msg): name = msg['name'] table.add_player(name) log(name, 'join in') emit('broadcast', { 'type': 'join', 'name': name, 'players': list(table.players.keys()) }, broadcast=True) # cards = [c.to_str() for c in table.players[name].cards] emit('push_cards', {'data': Card.cards_to_str(table.players[name].cards)}) emit( 'broadcast', { # 'name': '轮到 {} 出牌'.format(table.can_do_player_name()), 'name': table.can_do_player_name(), 'type': 'next' }, broadcast=True) uno_serv.table.check_ai()