Technical specification - shrek1402/Keyboard-Ninja- GitHub Wiki

Техническое задание. Клавиатурный тренажёр.

1. Функциональность программы

Клавиатурный тренажер – программа, предназначенная для обучения набору на компьютерной клавиатуре. Обычно целями тренажёров являются:

  1. Научить слепому методу печати, в частности, задействовать для набора все десять пальцев рук
  2. Увеличить скорость набора
  3. Уменьшить количество опечаток
  4. Улучшить ритмичность набора (что позволяет уменьшить усталость при наборе)

2. Формат входных и выходных данных

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

Примечание: символы могут быть либо на русском, либо на английском языке.

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

Примеры возможных строк:

  1. a b c d a a
  2. молния рацион специи компьютер
  3. Ночь, улица, фонарь, аптека, Бессмысленный и тусклый свет.

3. Интерфейс приложения

  • Взаимодействие с приложением происходит в консоли. Интерфейс разбит на несколько частей:
  1. Приветствие
  2. Главное меню
  3. Игровой процесс

Главное меню cостоит из подпунктов:

  1. Игра
  2. Настройки
  3. Выход
  • В подпункте "Игра" можно будет выбрать режим игры, затем сложность и язык (RU или ENG).
  • В подпункте "Настройки" можно будет поменять цвет фона и шрифта.

4. Работа приложения

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

5. Данные извне

  1. lettersRU.txt Содержит буквы на русском языке, необходимые для режима "Easy".

  2. lettersENG.txt Содержит буквы на английском языке, необходимые для режима "Easy".

  3. wordsRU.txt Содержит слова на русском языке, необходимые для режима "Normal".

  4. wordsENG.txt Содержит слова на английском языке, необходимые для режима "Normal".

  5. sentenceRU.txt Содержит предложения на русском языке, необходимые для режима "Hard".

  6. sentenceENG.txt Содержит предложения на английском языке, необходимые для режима "Hard".

  • Каждый символ/слово/предложение начинается с новой строки. Слова и запятые в предложениях отделяются пробелом.

Пример:

Буквы:

Первая строка: a

Вторая строка: b

Третья строка: c

Слова:

Первая строка: программист

Вторая строка: компьютер

Третья строка: деньги

Предложения:

Первая строка: В Архангельске плохая погода , но хорошие люди .

Вторая строка: Результаты теста вы узнаете , возможно , завтра .

Третья строка: Просто сделай это !