예제 #1
0
def game():
    generate_number()
    res = {'bulls': 0, 'cows': 0}
    n = 0
    while res['bulls'] < 4:
        user_number = input(colored('Введите число: ', color='blue'))
        if check_number(user_number):
            res = check_number(user_number)
            cprint(f"быки - {res['bulls']}, коровы - {res['cows']}",
                   color='yellow')
            n += 1
        else:
            cprint(
                'Некорректный ввод. Число должно состоять из 4 цифр, в числе все цифры должны быть разные',
                color='red')
    if n == 1:
        cprint(f'Вы отгадали число за {n} ход!', color='green')
    elif n == 2 or n == 3 or n == 4:
        cprint(f'Вы отгадали число за {n} хода!', color='green')
    else:
        cprint(f'Вы отгадали число за {n} ходов!', color='green')
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)

    result = check_number(number=user_number)
    cprint(
        'быки - ' + str(result['bulls']) + ' коровы - ' + str(result['cows']),
        'blue')
예제 #3
0
    if number % 10 in [2, 3, 4] and number % 100 not in [12, 13, 14]:
        return two_form

    return zero_form


#  Создайте функцию "проверка_ввода" для валидации ответа игрока, где проверяйте:
#  1) ответ состоит из цифр
#  2) цифр 4 шт.
#  3) цифры разные
#  4) число не начинается с нуля
#  Готово. Докинул функцию в движок

while True:
    mme.generate_number()
    attempts = 1
    while True:
        print(f'\nПопытка номер {attempts}')

        user_input = input(
            'Введите ваш вариант числа или "выход", если хотите завершить игру: '
        )
        while not mme.input_is_valid(
                user_input) and user_input.lower() != 'выход':
            user_input = input(
                'Вы где-то ошиблись с вводом числа. Попробуйте ещё раз: ')

        if user_input.lower() == 'выход':
            print('Жаль, что уходите. Возвращайтесь ещё!')
            exit()
예제 #4
0
# Составить модуль, реализующий функциональность игры.
# Функции реализаци игры:
#   загадать_число()
#   проверить_число(NN) - возвращает словарь {'bulls': N, 'cows': N}
# Загаданное число хранить в глобальной переменной
# Обратите внимание, что строки - это список символов
#
# В текущем модуле (lesson_006/mastermind.py) реализовать логику работы с пользователем:
#  начало игры,
#  ввод числа пользователем
#  вывод результата проверки
#  если игрок выиграл - показать количество ходов и вопрос "Хотите еще партию?"

from mastermind_engine import generate_number, compare_numbers, is_game_over

generate_number()
steps = 0
while True:
    called_number = input(
        'Введите число в интервале от 1000 до 9999. Для выхода введите q  ')
    if called_number == 'q':
        break
    if len(called_number) != 4:
        print('Введено некорректное число')
        continue
    compare_numbers(called_number)
    steps += 1
    if is_game_over():
        print('Количество попыток при угадывании: ' + str(steps) +
              '. Хотите ещё партию?')
        break