示例#1
0
def bidding(call):
    if call.from_user.id != id_list[Preferans.current_player()]:
        return
    if Preferans.update_bidding(call.data):
        ask_bidding()
    else:
        result = ''
        if Preferans.game_type() == 'game':
            result = 'Играет ' + name_list[
                Preferans.declarer()] + '. Ждем пока игрок закажет игру.'
        if Preferans.game_type() == 'misere':
            result = name_list[Preferans.declarer(
            )] + ' играет мизер. Ждем пока игрок понесет карты.'
        if Preferans.game_type() == 'all-pass':
            result = 'Распас. Ход с игрока ' + name_list[Preferans.move()]
        for i in id_list:
            if i != id_list[Preferans.declarer()]:
                bot.send_message(i, result)
        if Preferans.game_type() == 'game' or Preferans.game_type(
        ) == 'misere':
            talon = 'Прикуп:\n' + hand_to_string(Preferans.talon())
            for i in id_list:
                bot.send_message(i, talon)
            Preferans.add_talon()
            keyboard = hand_to_keyboard(Preferans.hand_declarer())
            bot.send_message(id_list[Preferans.declarer()],
                             text='Что хотите понести?',
                             reply_markup=keyboard)
        else:
            start()
示例#2
0
def discarding(call):
    if call.from_user.id != id_list[Preferans.current_player()]:
        return
    Preferans.discard(int(call.data))
    Preferans.inc_discard()
    bot.edit_message_reply_markup(chat_id=call.from_user.id,
                                  message_id=call.message.message_id, reply_markup=hand_to_keyboard(Preferans.hand_declarer()))
    if Preferans.discarded() == 2:
        Preferans.inc_discard()
        if Preferans.game_type() == 'game':
            config.state = 'set_game'
            bot.send_message(id_list[Preferans.declarer()], text='Закажите игру', reply_markup=game_keyboard())
        else:
            config.state = 'game'
            start()