Создание собственных уроков для GNU Typist
Categories:
Создание собственных уроков для GNU Typist
Это руководство объясняет, как создавать собственные уроки для программы GNU Typist (gtypist). Уроки создаются с помощью простого скриптового языка, что позволяет легко их модифицировать и адаптировать под любые нужды .
Структура файла уроков
Файл уроков имеет расширение .typ и состоит из строк, каждая из которых начинается с однобуквенной команды, за которой следует двоеточие (:) и данные команды.
# Это комментарий. Строки, начинающиеся с '#', игнорируются.
*:НАЧАЛО # Это метка. Она должна быть уникальной в файле.
B:Мой тренажёр # Отображает баннер в верхней части экрана.
T:Это текст урока. # Отображает текст и ждёт нажатия клавиши.
:Это продолжение текста урока.
I:Краткая инструкция. # Отображает инструкцию перед упражнением.
D:asdf jkl; # Упражнение-тренировка (drill). Нужно печатать в промежуточных строках.
:qwer uiop
Основные команды
| Команда | Описание | Пример |
|---|---|---|
# | Комментарий. Вся строка игнорируется. | # Это комментарий |
* | Метка. Точка перехода для команд G, Y, N, F. | *:УРОК_1 |
B | Banner (Баннер). Очищает экран и отображает текст в верхней строке. | B:Основы слепой печати |
T | Tutorial (Урок). Отображает многострочный текст и ждёт нажатия любой клавиши для продолжения. | T:Это обучающий текст.:Он может занимать несколько строк. |
I | Instruction (Инструкция). Отображает до двух строк инструкции над упражнением. Не ждёт нажатия клавиши. | I:Напечатайте строку ниже: |
D | Drill (Тренировка). Основное упражнение, где текст отображается в каждой второй строке, а пользователь печатает в промежуточных. | D:aaa sss ddd fff:jjj kkk lll ;;; |
d | Practice-only drill. То же, что и D, но пользователь не обязан повторять упражнение при большом количестве ошибок. | d:тренировочный текст |
S | Speed test (Тест скорости). Текст отображается на экране, и пользователь печатает поверх него. Ошибки можно исправлять, но они учитываются. | S:Это предложение для теста скорости. |
s | Practice-only speed test. Аналогично S, но без обязательного повторения. | s:Текст для практики. |
G | Go to label (Перейти к метке). Безусловный переход к указанной метке. | G:СЛЕДУЮЩИЙ_УРОК |
Q | Question (Вопрос). Отображает вопрос и ждёт ввода Y или N. | Q:Повторить урок? (Y/N) |
Y | Yes (Да). Переход к метке, если на последний вопрос Q был дан ответ Y. | Y:ПОВТОР |
N | No (Нет). Переход к метке, если на последний вопрос Q был дан ответ N. | N:СЛЕДУЮЩИЙ |
M | Menu (Меню). Создаёт меню для навигации. | M: UP=ВЫХОД "Главное меню":УРОК_1 "Урок 1":УРОК_2 "Урок 2" |
X | Exit (Выход). Завершает программу. | X: |
E | Error rate (Допустимый процент ошибок). Устанавливает максимальный процент ошибок для упражнения. | E:5.0%E:2.0%* (действует для всех последующих упражнений) |
F | Failure label (Метка при неудаче). Указывает метку, куда переходить при провале упражнения. | F:ПОВТОРF:ЗАВЕРШЕНИЕ* (действует для всех последующих упражнений) |
Пошаговое руководство по созданию урока
1. Создание файла
Создайте новый текстовый файл с расширением .typ, например, moj_urok.typ.
2. Структура урока
Начните с комментария и баннера, чтобы придать уроку профессиональный вид.
# ==============================================
# Мой первый урок для gtypist
# ==============================================
B:Урок 1: Основы
3. Добавление обучающего текста
Используйте команду T для объяснения материала.
T:Этот урок научит вас печатать буквы 'а', 'о', 'и' и 'е'.
:Начнём с простых упражнений.
4. Создание упражнений
Добавьте тренировки (D или d) и тесты скорости (S или s).
# Упражнение на буквы 'а' и 'о'
I:Напечатайте строки, используя указательные пальцы.
D:ао аоа оао ааа ооо
:оао аоа аоо оаа
# Упражнение на буквы 'и' и 'е'
I:Теперь буквы 'и' и 'е'.
D:ие иеи еие иии еее
:еие иеи иее еии
# Простой тест скорости
I:Тест скорости. Исправляйте ошибки!
S:Ехал грека через реку.
S:Видит грека в реке рак.
5. Добавление навигации и ветвления
Используйте метки, вопросы и переходы для создания структуры.
*:НАЧАЛО
T:Добро пожаловать!
*:УРОК_1
G:УПР_АО
*:УПР_АО
I:Упражнение на 'а' и 'о'.
D:ао аоа оао
G:ВОПРОС_АО
*:ВОПРОС_АО
Q:Повторить упражнение на 'а' и 'о'? (Y/N)
Y:УПР_АО
N:УРОК_2
*:УРОК_2
T:Переходим к следующему уроку.
# ... далее урок 2
6. Использование меню (рекомендуется)
Начиная с версии 2.7, для навигации удобно использовать команду M .
B:Мой тренажёр
*:ГЛАВНОЕ_МЕНЮ
M: UP=_EXIT "Главное меню"
:УРОК_1 "Урок 1: А и О"
:УРОК_2 "Урок 2: И и Е"
:ВЫХОД "Выйти"
*:УРОК_1
G:УПР_АО
# ... определение УПР_АО ...
*:УРОК_2
# ... Урок 2 ...
*:ВЫХОД
X:
Это создаст удобное меню для выбора уроков.
Примеры и шаблоны
Вот пример простого файла moj_urok.typ, который включает все основные элементы:
# ==============================================
# Мой первый полноценный урок для gtypist
# ==============================================
*:ГЛАВНОЕ_МЕНЮ
M: UP=_EXIT "Меню"
:УРОК_1_БУКВЫ "Урок 1: Буквы А,О,И,Е"
:УРОК_2_СЛОВА "Урок 2: Слова"
:ВЫХОД "Выйти"
# ----------------------------------------------
# Урок 1: Буквы А, О, И, Е
# ----------------------------------------------
*:УРОК_1_БУКВЫ
B:Урок 1
T:Этот урок научит вас печатать буквы 'а', 'о', 'и' и 'е' с помощью указательных пальцев.
*:УПР_АО
I:Напечатайте строки с буквами 'а' и 'о'.
D:ао аоа оао ааа ооо
:оао аоа аоо оаа
Q:Повторить упражнение на 'а' и 'о'? (Y/N)
Y:УПР_АО
N:УПР_ИЕ
*:УПР_ИЕ
I:Теперь буквы 'и' и 'е'.
D:ие иеи еие иии еее
:еие иеи иее еии
Q:Повторить упражнение на 'и' и 'е'? (Y/N)
Y:УПР_ИЕ
N:ТЕСТ_1
*:ТЕСТ_1
I:Тест скорости.
S:Ехал грека через реку.
S:Видит грека в реке рак.
Q:Повторить тест? (Y/N)
Y:ТЕСТ_1
N:ГЛАВНОЕ_МЕНЮ
# ----------------------------------------------
# Урок 2: Простые слова
# ----------------------------------------------
*:УРОК_2_СЛОВА
B:Урок 2
T:Теперь попробуем печатать простые слова.
*:УПР_СЛОВА
I:Печатайте слова.
D:мама папа мир
:море рама
Q:Повторить? (Y/N)
Y:УПР_СЛОВА
N:ГЛАВНОЕ_МЕНЮ
# ----------------------------------------------
# Выход
# ----------------------------------------------
*:ВЫХОД
X:
Советы и лучшие практики
- Используйте комментарии: Начинайте строки с
#, чтобы документировать свой код. - Структурируйте уроки: Разбивайте обучение на логические части: введение, тренировка, тест, повторение.
- Используйте
Iдля инструкций: Всегда давайте чёткие инструкции перед упражнениями. - Начинайте с малого: Вводите новые буквы постепенно, тренируйте их в комбинациях с уже изученными.
- Автоматизируйте проверку: Используйте
Q,Y,Nдля создания циклов повторения. - Используйте меню (
M): Это современный и удобный способ навигации. - Изучите примеры: Посмотрите на файлы уроков, которые поставляются с gtypist (например,
t.typилиru.typ), чтобы увидеть, как устроены сложные уроки .
Запуск вашего урока
Чтобы запустить созданный урок, используйте команду:
gtypist /путь/к/вашему/файлу/moj_urok.typ
Если вы хотите начать с определённой метки (например, УРОК_2_СЛОВА), используйте опцию -l:
gtypist -l УРОК_2_СЛОВА moj_urok.typ
Инструменты для создания уроков
- Режим Emacs (
gtypist-mode.el): Предоставляет подсветку синтаксиса, автозаполнение, вставку баннеров и другие удобные функции для создания файлов.typ. Инструмент находится вtools/gtypist-mode.el. - Скрипт
findwords: Помогает находить слова для упражнений, используя словариaspell. Например,./findwords asdfjkleruioнайдёт все слова, состоящие из этих букв. Находится вtools/findwords. - Конвертация из Ktouch: Скрипт
ktouch2typ.plпозволяет конвертировать уроки из формата Ktouch 1.6 (XML) в формат gtypist. Это отличный способ начать создавать коллекцию уроков .