# coding: utf-8 # license: GPLv3 from enemies import * from hero import * def annoying_input_int(message =''): answer = None while answer == None: try: answer = int(input(message)) except ValueError: print('Вы ввели недопустимые символы') return answer def game_tournament(hero, dragon_list): for dragon in dragon_list: print('Вышел', dragon._color, 'дракон!') while dragon.is_alive() and hero.is_alive(): print('Вопрос:', dragon.question()) answer = annoying_input_int('Ответ:') if dragon.check_answer(answer): hero.attack(dragon) print('Верно! \n** дракон кричит от боли **') else: dragon.attack(hero) print('Ошибка! \n** вам нанесён удар... **') if dragon.is_alive(): break print('Дракон', dragon._color, 'повержен!\n') if hero.is_alive(): print('Поздравляем! Вы победили!') print('Ваш накопленный опыт:', hero._experience) else: print('К сожалению, Вы проиграли...') def start_game(): try: print('Добро пожаловать в арифметико-ролевую игру с драконами!') print('Представьтесь, пожалуйста: ', end = '') hero = Hero(input()) dragon_number = 3 dragon_list = generate_dragon_list(dragon_number) assert(len(dragon_list) == 3) print('У Вас на пути', dragon_number, 'драконов!') game_tournament(hero, dragon_list) except EOFError: print('Поток ввода закончился. Извините, принимать ответы более невозможно.')