class ConsoleGame: def __init__(self, player1: Player, player2: Player) -> None: self.player1 = player1 self.player2 = player2 self.fighter = Fighter(player1, player2) def run(self): game_over = False while not game_over: to_move = self.fighter.get_attacker() defender = self.fighter.get_defender() print_player_info(to_move) print_player_info(defender) print("Введите 'potion' или 'skill' в зависимости от того, что вы хотите использовать.") while True: move_type = input() if move_type == "potion": print("Введите номер зелья.") move = input() if move == "back": continue number = int(move) potions = [i for i in to_move.inventory.items if type(i) is Potion] self.fighter.step(UsePotion(potions[number])) print("Выбранное зелье: {}".format(potions[number])) break if move_type == "skill": print("Выбранный скил: {}".format(to_move.active_skills[number].name)) is_finished, damage = self.fighter.step(UseActiveSkill(to_move.active_skills[number])) print("Нанесенный урон: {}".format(damage)) break
def hello(message): print(message.from_user.id) global users if len(users) >= 2: bot.send_message(message.from_user.id, 'Достигнуто максимальное количество игроков!') return player = PlayerRepository.get_player(message.from_user.id) users.append(player) print(player.inventory.items) bot.register_next_step_handler(message, skill_handler) if len(users) == 1: bot.send_message(message.from_user.id, 'Участников слишком мало, ожидайте.') if len(users) == 2: global fighter fighter = Fighter(users[0], users[1]) bot.send_message( fighter.get_attacker().telegram_id, 'Вы нападаете первым. Выберите скилл или зелье из доступных.') bot.send_message( fighter.get_defender().telegram_id, 'Вы защищаетесь. Переживите атаку для ответного хода.') send_move_request(fighter.get_attacker(), message)