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

Пример: https://brainapps.ru/typing-test/start

ТЗ:

- Текст или набор слов, которые должен вводить пользователь хардкодятся в программе. Можете сделать, чтобы они читались из файла. Текст или набор слов вы подбираете сами. Только латиница!

- При запуске программы текст полностью появляется в терминале. Если он не помещается, то появляется только его часть. Как только пользователь подходит к концу видимой части текста, текст прокручивается на страницу ниже.

- При запуске курсор появляется в самом начале текста, и при наборе каждого символа перемещается на следующий символ

- При вводе правильного символа, символ подсвечивается зеленым. При вводе неправильного красным. При этом если символ введен неправильно, то курсор все равно переходит к следующему символу. То есть, если пользователь ошибся в вводе символа, свою ошибку он исправить не может. Это важное отличие от примера, который я скинул выше.

- Необходимо реализовать 3 уровня сложности игры. Уровень сложности передается первым аргументом, и может принимать значения `easy`, `medium` и `hard`. На каждый уровень сложности есть 3 различных текста или набора слов, которые выводятся в зависимости от выбранного пользователем уровня. Здесь проявите креатив и придумайте как можно по уровням сложности подобрать текст. Например, в `easy` будут короткие знакомые слова, а в `hard` текст с длиннющими незнакомыми словами и кучей знаков препинания.

- Вторым аргументов в программу передается ограничение по времени в секундах. То есть на ввод текста дается ограниченное время, которое введет пользователь вторым аргументом. Если пользователь не допечатал текст, а время вышло, то игра завершается. Здесь также необходимо установить верхний диапазон по времени, и проверять на корректность введенное время.

- Третьим аргументом передается число ошибок, которые может совершить пользователь. Если пользователь ввел неправильно символов больше, чем указано в третьем аргументе, игра заканчивается. Здесь также сделать верхний диапазон.

- Должна быть проверка на правильность ввода аргументов. Если какой-либо из аргументов введен неправильно, или не указан вовсе, выводить ошибку с конкретным описанием того, что не так сделал пользователь, а также `help` сообщение c описанием каждого аргумента, по типу такого, только для вашей программы

```

Usage:

pip [options]

Commands:

install Install packages.

download Download packages.

uninstall Uninstall packages.

freeze Output installed packages in requirements format.

```

- По завершению игры, независимо то того как она завершилась (пользователь все напечатал правильно, или проиграл из-за времени или ошибок) должна выводится статистика о игре:

1) Количество правильно введенных символов

2) Количество неправильно введенных символов

3) Общее количество введенных символов (правильные + неправильные)

4) Средняя по игре скорость печатания символов, измеряемая в количестве символов в минуту

5) Средняя по игре скорость печатания слов, измеряемая в количестве слов в минуту

- Код должен быть написан красиво, читаемо. Весь проект должен быть разделен на файлы как в ДЗ4, название которых соответствует функционалу, который в них реализован

2 года назад
guest_16868567115607
2 года в сервисе
Был
2 года назад

Заявки фрилансеров

Егор
 
21 год
5 лет в сервисе
Был
2 года назад
2 года назад