示例#1
0
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
示例#2
0
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)