Передовица » Макулатура » ИиО » Клавиатурный тренажёр АГАТ-9

Клавиатурный тренажёр АГАТ-9 (N4/1994)

Небольшая программа на Бейсике. С минимальными доработками должна пойти и на седьмой версии машины.

С.М.Гончаров. Группа сайта просит вас связаться с нами! (ЗАЧЕМ ЭТО?)

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

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

Описание программы

Строки 20-180 строят начальную картинку. Пример такой картинки на рис.1. Если в вашем распоряжении имеется символьный редактор, то вы можете предварительно построить эту картинку и записать её на диск, присвоив ей, например, имя KART. А сам вариант этих строчек может выглядеть таким образом:

20 PRINT: PRINT CHR$(4); "BLOAD KART"

Строка 181 определяет режим работы. Всего таких режимов - пять:

  • 1-й - малые русские буквы, цифры и спецсимволы;
  • 2-й - большие русские буквы, цифры и спецсимволы;
  • 3-й - большие латинские буквы, цифры и спецсимволы;
  • 4-й - малые латинские буквы, цифры и спецсимволы;
  • 5-й - малые и большие русские буквы, малые и большие латинские буквы, цифры и спецсимволы.

Строка 183 выходит на подпрограммы установки времени задержки между последовательными символами.

Строки 200-650 - подпрограммы выбора символа.

Строка 710 ожидает нажатия клавиши. Величина E определяет время ожидания.

В случае, когда испытуемый не нашёл нужную клавишу за отведённое время E, его ожидает штраф. Время игры сокращается на величину Q, зависящую от режима работы. Если значение Q в данной ситуации вас не устраивает, вы легко его можете изменить.

Строки 800-840 - подпрограммы времени ожидания. Тоже легко изменяемые, в зависимости от подготовки ваших учеников. В предлагаемом мной варианте, значение E используется для младшей группы учащихся.

Строки 900-920 сравнивают полученный результат с установленным ранее рекордным результатом.

Строка 925 предупреждает звуковым сигналом о прекращении теста.

Строки 1000-1060 - подпрограмма вывода «звука лазера» в случае правильного угадывания клавиши. Кроме того, обеспечивает подсчёт результата R. В случае, когда вам надоел «звук лазера», замените эти строки строкой

1000 R=E/10+R: RETURN

Строки 930-945 - после истечения выбранного учащимся времени игры машина задаёт вопрос:

ИГРА ЗАКОНЧЕНА. ЕЩЕ D/N?

После нажатия нужного символа либо ученик повторяет игру (с учётом рекордных значений предыдущих игр), либо игра заканчивается и её можно запустить под новой командой RUN.

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

} PR# 4
}            <<КЛАВИАТУРНЫЙ ТРЕНАЖЕР - ''АГАТ-9''>>
--- --- --- --- --- --- --- --- --- --- --- ---
|;| |1| |2| |3| |4| |5| |6| |7| |8| |9| |0| |-|    В Р Е М Я
|+| |!| |"| |#| |$| |%| |&| |'| |(| |)| | | |=|
--- --- --- --- --- --- --- --- --- --- --- ---    0 c 0 mn

--- --- --- --- --- --- --- --- --- --- --- ---    РЕЗУЛЬТАТ
|Й| |Ц| |У| |К| |Е| |Н| |Г| |Ш| |Щ| |З| |Х| |:|
|J| |C| |U| |K| |E| |N| |G| |[| |]| |Z| |H| |*|      0
--- --- --- --- --- --- --- --- --- --- --- ---

--- --- --- --- --- --- --- --- --- --- --- ---     РЕКОРДЫ
|Ф| |Ы| |В| |А| |П| |Р| |О| |Л| |Д| |Ж| |Э| |.|
|F| |Y| |W| |A| |P| |R| |O| |L| |D| |V| |\| |>|      2350
--- --- --- --- --- --- --- --- --- --- --- ---
                                                   ВЫБОР ИГРЫ
--- --- --- --- --- --- --- --- --- --- --- ---
|Я| |Ч| |С| |М| |И| |Т| |Ь| |Б| |Ю| |,| |/| |Ъ|      1 - рус
|Q| |^| |S| |M| |I| |T| |X| |B| |@| |<| |?| |_|      2 - РУС
--- --- --- --- --- --- --- --- --- --- --- ---      3 - LAT
                                                     4 - lat
                                                     5 - Р/L
        -------------------------------
        |        П Р О Б Е Л          |
        -------------------------------

             НАЖМИ НУЖНУЮ ЦИФРУ ?
}

Рис. 1

PR#4
}            <<КЛАВИАТУРНЫЙ ТРЕНАЖЕР - ''АГАТ-9''>>

--- --- --- --- --- --- --- --- --- --- --- ---
|;| |1| |2| |3| |4| |5| |6| |7| |8| |9| |0| |-|     В Р Е М Я
|+| |!| |"| |#| |$| |%| |&| |'| |(| |)| | | |=|
--- --- --- --- --- --- --- --- --- --- --- ---     59 c 0 mn

--- --- --- --- --- --- --- --- --- --- --- ---     РЕЗУЛЬТАТ
|Й| |Ц| |У| |К| |Е| |Н| |Г| |Ш| |Щ| |З| |Х| |:|
|J| |C| |U| |K| |E| |N| |G| |[| |]| |Z| |H| |*|       480
--- --- --- --- --- --- --- --- --- --- --- ---

--- --- --- --- --- --- --- --- --- --- --- ---      РЕКОРДЫ
|Ф| |Ы| |В| |А| |П| |Р| |О| |Л| |Д| |Ж| |З| |.|
|F| |Y| |W| |A| |P| |R| |O| |L| |D| |V| |\| |>|       1750
--- --- --- --- --- --- --- --- --- --- --- ---

--- --- --- --- --- --- --- --- --- --- --- ---     ВЫБОР ИГРЫ
|Я| |Ч| |С| |М| |И| |Т| |Ь| |Б| |Ю| |,| |/| |Ъ|
|Q| |^| |S| |M| |I| |T| |X| |B| |@| |<| |?| |_|       1 - рус
--- --- --- --- --- --- --- --- --- --- --- ---
                                                      |-----|
        -------------------------------               |     |
        |        П Р О Б Е Л          |               |  <  |
        -------------------------------               |     |
                                                      |-----|
              ИГРА ЗАКОНЧЕНА. ЕЩЕ D/N
}

Рис. 2

  5 TEXT=34: R=0: B=0: S=0: M=0
 10 HOME: PRINT "СКОЛЬКО ВРЕМЕНИ РАССЧИТЫВАЕТЕ ТРЕНИРОВАТЬСЯ ?": PRINT: PRINT "1, 2, 3, ... мин"
 15 PRINT: INPUT "НАБЕРИТЕ НУЖНУЮ ЦИФРУ И НАЖМИТЕ НА "ВВОД" - "; H
 16 HOME
 20 HTAB 14: VTAB 2: PRINT "<<КЛАВИАТУРНЫЙ ТРЕНАЖЕР - ''АГАТ-9''>>""
 30 HTAB 1: VTAB 5
 31 PRINT "--- --- --- --- --- --- --- --- --- --- --- ---"
 32 PRINT "|;| |1| |2| |3| |4| |5| |6| |7| |8| |9| |0| |-|"
 33 PRINT "|+| |!| |"| |#| |$| |%| |&| |'| |(| |)| | | |=|"
 34 PRINT "--- --- --- --- --- --- --- --- --- --- --- ---"
 35 PRINT
 36 PRINT "--- --- --- --- --- --- --- --- --- --- --- ---"
 37 PRINT "|Й| |Ц| |У| |К| |Е| |Н| |Г| |Ш| |Щ| |З| |Х| |:|"
 38 PRINT "|J| |C| |U| |K| |E| |N| |G| |[| |]| |Z| |H| |*|"
 39 PRINT "--- --- --- --- --- --- --- --- --- --- --- ---"
 40 PRINT
 41 PRINT "--- --- --- --- --- --- --- --- --- --- --- ---"
 42 PRINT "|Ф| |Ы| |В| |А| |П| |Р| |О| |Л| |Д| |Ж| |Э| |.|"
 43 PRINT "|F| |Y| |W| |A| |P| |R| |O| |L| |D| |V| |\| |>|"
 44 PRINT "--- --- --- --- --- --- --- --- --- --- --- ---"
 45 PRINT
 46 PRINT "--- --- --- --- --- --- --- --- --- --- --- ---"
 47 PRINT "|Я| |Ч| |С| |М| |И| |Т| |Ь| |Б| |Ю| |,| |/| |Ъ|"
 40 PRINT "|Q| |^| |S| |M| |I| |T| |X| |B| |@| |<| |?| |_|"
 49 PRINT "--- --- --- --- --- --- --- --- --- --- --- ---"
 50 PRINT
 51 PRINT "        -------------------------------"
 52 PRINT "        |        П Р О Б Е Л          |"
 53 PRINT "        -------------------------------"
 54 VTAB  7: HTAB 10: PRINT CHR$(162)
 60 HTAB 52: VTAB  6: PRINT "В Р Е М Я"
 70 HTAB 52: VTAB  8: PRINT S;" c ";M;" mn "
 80 HTAB 52: VTAB 10: PRINT "РЕЗУЛЬТАТ"
 90 HTAB 54: VTAB 12: PRINT R
100 HTAB 52: VTAB 15: PRINT " РЕКОРДЫ"
110 HTAB 54: VTAB 17: PRINT B
120 HTAB 52: VTAB 19: PRINT "ВЫБОР ИГРЫ"
130 HTAB 54: VTAB 21: PRINT "1 - рус"
140 HTAB 54: VTAB 22: PRINT "2 - РУС"
150 HTAB 54: VTAB 23: PRINT "3 - LAT"
160 HTAB 54: VTAB 24: PRINT "4 - lat"
170 HTAB 54: VTAB 25: PRINT "5 - P/L"
180 HTAB 14: VTAB 29: PRINT "НАЖМИ НУЖНУЮ ЦИФРУ ";: GET A$
181 J = ASC(A$): K = J - 176
182 IF K < 1 OR K > 5 THEN 180
183 ON K GOSUB 800,810,820,830,840
190 HTAB 10: VTAB 29: PRINT CHR$(157)
191 FOR I = 21 TO 25: HTAB 54: VTAB I: PRINT SPC(7): NEXT
192 HTAB 54: VTAB 24; PRINT "|-----|"
193 HTAB 54: VTAB 25: PRINT "|     |"
194 HTAB 54: VTAB 26: PRINT "|     |"
195 HTAB 54: VTAB 27: PRINT "|     |"
196 HTAB 54: VTAB 28: PRINT "|-----|"
197 ON K GOSUB 200,300,400,500,600
198 GOTO 700
200 HTAB 54: VTAB 22: PRINT "1 - pyc"
210 SR = INT (RND (1) * 195)
220 IF SR < 96 THEN 210
230 IF SR > 128 AND SR < 161 THEN 210
240 IF SR > 191 THEN 210
245 Q = 10
250 RETURN
300 HTAB 54: VTAB 22: PRINT "2 - РУС"
310 SR = INT (RND (1) * 260)
320 IF SR < 161 THEN 310
330 IF SR > 191 AND SR < 224 THEN 310
340 IF SR > 255 THEN 310
345 Q = 9
350 RETURN
400 HTAB 54: VTAB 22: PRINT "3 - LAT"
410 SR = INT (RND (1) * 225)
420 IF SR < 161 OR SR > 223 THEN 410
430 Q = 8
450 RETURN
500 HTAB 54: VTAB 22: PRINT "4 - lat"
510 SR = INT (RND (1) * 195)
520 IF SR < 65 OR SR > 192 THEN 510
530 IF SR > 93 AND SR < 161 THEN 510
540 Q = 7
550 RETURN
600 HTAB 54: VTAB 22: PRINT "5 - P/L"
610 SR = INT (RND (1) * 260)
620 IF SR < 65 THEN 610
630 IF SR > 93 AND SR < 96 THEN 610
635 IF SR > 127 AND SR < 161 THEN 610
640 IF SR > 255 THEN 610
645 Q = 6
650 RETURN
700 HTAB 57: VTAB 26: PRINT CHR$(SR)
705 SR$ = CHR$(SR)
710 FOR F = 1 TO E: IF PEEK (-16384)>127 THEN GET C$: IF C$ = SR$ THEN GOSUB 1000: GOTO 725
720 NEXT: S = 8 + Q
725 W = W + .25: IF W = 1 THEN W = 0: S = S + 1
726 IF S > = 60 THEN M = M + 1: S = 0: IF M = H THEN 900
730 HTAB 52: VTAB 8: PRINT S;" с ";M;" mn "
740 HTAB 54: VTAB 12: PRINT R
760 GOTO 197
800 E = 150: RETURN
810 E = 200: RETURN
820 E = 250; RETURN
830 E = 400: RETURN
840 E = 550: RETURN
900 IF B < R THEN HTAB 54: VTAB 17: PRINT R
910 IF B > R THEN R = 0
920 B = R: R = 0
925 FOR I = 1 TO 5: PRINT CHR$ (133): NEXT
930 HTAB 15: VTAB 30: PRINT "ИГРА ЗАКОНЧЕНА. ЕЩЕ D?N ";: GET N$
940 IF N$ = "D" OR N$ = "d" OR N$ = "Д" OR N$ = "д" THEN 950
945 END
950 S = 0: M = 0: R = 0: GOTO 10
1000 FOR I = 768 TO 781
1010 READ X
1020 POKE I,X: NEXT
1030 CALL 768
1040 R = E / 10 + R: RESTORE: RETURN
1050 DATA 162,255,173,48,192,138,168,136,208
1060 DATA 253,202,208,245,96

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *