python повторить последовательность

Это игра, в которой игроку отображается последовательность из 4 символов, по одному с задержкой между ними. Затем игрок должен ввести последовательность в том виде, в котором она была отображена.

Последовательности отображаются до тех пор, пока ввод не будет неправильным.

Символы, составляющие последовательности, выбираются случайным образом, и все они являются строками.

__all__ = []

import random
import time

from colorama import deinit, init

MSG_ASK = 'What was the sequence? '
MSG_CORRECT = ' 33[32mCorrect! 33[0m'
MSG_INCORRECT = ' 33[31mIncorrect 33[0m'


def main():
    k = 4

    lines = r'|-/'

    seconds = 1

    init()

    while True:
        s=""

        sequence = random.choices(lines, k=k)
        sequence="".join(sequence)

        for i in range(k):
            if not i:
                s=""
            elif i == 1:
                s=" "
            else:
                s = i * ' '

            print(s, sequence[i], end='r')
            time.sleep(seconds)

        print(f'{s}  ')

        if input(MSG_ASK) == sequence:
            print(MSG_CORRECT)
        else:
            print(MSG_INCORRECT)
            break

    deinit()


if __name__ == '__main__':
    main()

1 ответ
1

С помощью __all__ = [] в основном бесполезен в основной программе и, вероятно, должен быть удален.


Это трудно читать:

MSG_CORRECT = ' 33[32mCorrect! 33[0m'
MSG_INCORRECT = ' 33[31mIncorrect 33[0m'

Это намного проще:

from colorama import Fore

MSG_CORRECT = Fore.GREEN + 'Correct!' + Fore.RESET
MSG_INCORRECT = Fore.RED + 'Incorrect' + Fore.RESET

Примечание: Style.RESET_ALL будет точным переводом

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *