from run import run from files import list_levels from files import load def level_menu(levels): for i in range(1, len(levels) + 1): print(f'{i}. Level {i}') print(f'{len(levels) + 1}. Назад') def level_menu_loop(levels): while True: level_menu(levels) inp = input() if inp.isnumeric(): op = int(inp) if 1 <= op <= len(levels) + 1: if op <= len(levels): # Выбор уровня return levels[op - 1] else: # Выход из меню return None else: print('Выберите номер из меню!') else: print('Вводите только цифры!') # Добавляем подменю для выбора версии игры def game_versions_menu(): ## 1 ## max_version = 6 for i in range(1, max_version): print(f'{i}. Version {i}') print(f'{max_version}. Назад') def game_version_loop(): ## 2 ## while True: game_versions_menu() inp = input() if inp.isnumeric(): op = int(inp) if 1 <= op <= 6: ## 3 ## if op <= 5: return op else: # Выход из меню return 0 else: print('Выберите номер из меню!') else: print('Вводите только цифры!') def main_menu(): print('1. Выбор уровня') print('2. Выбор кол-ва запусков') print('3. Выбор версии игры') ## 4 ## print('4. Запуск') print('5. Выход') def main_menu_loop(): levels = list_levels() level = '' runs = 1 version = 0 ## 5.1 ## while True: print(f'Выбранный уровень: {level}') print(f'Кол-во запусков: {runs}') print(f'Выбранная версия правил: {version}') print() # Вывод меню на экран main_menu() # Ввод от пользователя inp = input() # Валидация ввода пользователя if inp.isnumeric(): op = int(inp) if 1 <= op <= 5: # Ввод пользователя валидирован, выполняем действие if op == 1: # Выбор уровня ret = level_menu_loop(levels) if ret is not None: level = ret elif op == 2: # Ввод кол-во запусков inp2 = input('Введите кол-во запусков: ') if inp2.isnumeric(): runs = int(inp2) else: print('Вводите только цифры!') ## 5.2 ## elif op == 3: # Выбор версии игры ret = game_version_loop() if ret > 0: version = ret elif op == 4: # Запуск if level in levels: if version > 0: run(load(level), runs, version) ## 7 ## else: print('Для начала выберите версию!') ## 8 ## else: print('Для начала выберите уровень!') else: # Завершение программы break else: print('Выберите номер из меню!') else: print('Вводите только цифры!') main_menu_loop()