Example #1
0
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
Example #2
0
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)
Example #4
0
# -*- 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
Example #5
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()
Example #6
0
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'])
Example #7
0
#   в цикле, пока число не отгадано
#       у пользователя запрашивается вариант числа
#       модуль движка проверяет число и выдает быков/коров
#       результат быков/коров выводится на консоль
#  когда игрок угадал таки число - показать количество ходов и вопрос "Хотите еще партию?"
#
# При написании кода учитывайте, что движок игры никак не должен взаимодействовать с пользователем.
# Все общение с пользователем делать в текущем модуле. Представьте, что движок игры могут использовать
# разные клиенты - веб, чатбот, приложение, етс - они знают как спрашивать и отвечать пользователю.
# Движок игры реализует только саму функциональность игры.
# Это пример применения 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
Example #8
0
def game_start():
    make_number()
    print('Я загадываю число...')
    time.sleep(1)
    print('Поехали!')