def game(): cprint('Загадоно четырехзначное число', color='green') cprint('Попробуй угадать', color='green') make_number() while True: input_number = input(colored('Введите число', color='green')) check_mumber(input_number) if gameover(): break
def game(): _secret_number = engine.make_number() print(_secret_number) input_number = list(input('Введите ваше число:')) check_validation(input_number=input_number, _secret_number=_secret_number) print('Вы отгадали! Поздравляю!') print('Колличество попыток:', attempt)
result = {'bulls': 0, 'cows': 0} count = 0 is_bot = False while True: if count == 0: cprint('***********************', 'magenta') cprint('*** "Быки и Коровы" ***', 'magenta') cprint('***********************', 'magenta') is_bot = True if input('Доверите игру БОТУ? (y/n)') in ('Y', 'y', 'д', 'Д') else False cprint('Число загадано', 'green') cprint(make_number(), 'green') if is_bot: print('Укажите число: ') user_number = generate_number() else: while True: user_number = input('Укажите число: ') if user_number.isdigit() and len(user_number) == 4: break else: cprint('По условиям игры необходимо указать 4х значное число.', 'red') print(user_number)
# -*- coding: utf-8 -*- from mastermind_engine import make_number, count_cows_and_bulls, you_win, check_number make_number() count_of_try = 0 while True: my_number = input('Введите число:') if not check_number(number=my_number): print('Введите 4-ёх значное число, без повторений, начиная не с 0 ') continue print(count_cows_and_bulls()) count_of_try += 1 if you_win(): print('Вы победили!! Количество ходов:', count_of_try) if input('Хотите еще сыграть?') != 'да': break make_number() count_of_try = 0
# # При написании кода учитывайте, что движок игры никак не должен взаимодействовать с пользователем. # Все общение с пользователем делать в текущем модуле. Представьте, что движок игры могут использовать # разные клиенты - веб, чатбот, приложение, етс - они знают как спрашивать и отвечать пользователю. # Движок игры реализует только саму функциональность игры. # Это пример применения SOLID принципа (см https://goo.gl/GFMoaI) в архитектуре программ. # Точнее, в этом случае важен принцип единственной ответственности - https://goo.gl/rYb3hT from mastermind_engine import check_number from mastermind_engine import make_number from mastermind_engine import check_right # Цикл всей игры, находимся там, пока играем. Если закончим игру, выходим черезе Break while True: # модуль движка загадывает число print(make_number()) my_num = 0 steps = 0 num_of_bulls = 0 # находимся в этом цикле, пока число не отгадано (количество быков меньше 4) while num_of_bulls < 4: # у пользователя запрашивается вариант числа if steps < 1: print('Я загадал, введите число') else: print('Не верно, введите число повторно') # дальше идем в бесконечный цикл внутри которого проверяем корректность введенного числа my_num = input()
def game_continue_request(): while True: cprint('Хотите ещё партию? Y/N? ', color='cyan', attrs=['bold']) answer = input() if answer == 'Y' or answer == 'y': return False elif answer == 'N' or answer == 'n': return True else: print( 'Некорректный ввод. Введите Y для новой игры или N для завершения' ) while True: game_number = make_number() cprint('Задумано число: XXXX', color='red', attrs=['bold', 'reverse']) attempts_number = 0 while True: cprint('Введите 4-х значное число:', color='green', attrs=['bold']) get_number = input() check_result = check_number(get_number) if not check_result: cprint('Некорректный ввод', color='red', attrs=['bold']) else: bulls, cows = compare_numbers(game_number, get_number) attempts_number += 1 if bulls == 4: cprint('ПОЗДРАВЛЯЮ!!!! ВЫ ПОБЕДИЛИ!!!', color='red', attrs=['bold', 'reverse'])
# в цикле, пока число не отгадано # у пользователя запрашивается вариант числа # модуль движка проверяет число и выдает быков/коров # результат быков/коров выводится на консоль # когда игрок угадал таки число - показать количество ходов и вопрос "Хотите еще партию?" # # При написании кода учитывайте, что движок игры никак не должен взаимодействовать с пользователем. # Все общение с пользователем делать в текущем модуле. Представьте, что движок игры могут использовать # разные клиенты - веб, чатбот, приложение, етс - они знают как спрашивать и отвечать пользователю. # Движок игры реализует только саму функциональность игры. # Это пример применения SOLID принципа (см https://goo.gl/GFMoaI) в архитектуре программ. # Точнее, в этом случае важен принцип единственной ответственности - https://goo.gl/rYb3hT import mastermind_engine as me me.make_number() while True: user_input = input("Введите 4х значное число: ") if len(set(user_input)) != 4: print('Вы ввели некорректное число') continue bulls_cows = me.check_number(user_input) print('Быки: ', bulls_cows['bulls'], 'Коровы: ', bulls_cows['cows']) if bulls_cows['bulls'] == 4: print('Поздравляю, Вы угадали число за', me.counter_step, 'ходов.') user_input2 = input('Хотите сыграть еще? (да/нет) ') if user_input2 == 'да': me.make_number() continue else: break
def game_start(): make_number() print('Я загадываю число...') time.sleep(1) print('Поехали!')