Для создания звуковых эффектов используются процедуры модуля CRT:
Sound(X)-звуковой сигнал частотой X герц;
Delay (N)-задержка на N миллисекунд;
NoSound-отменить звук.
Любой звуковой эффект используется конструкцию аналогичную следующей:
Sound(500); Delay(2000); NoSound; В данном примере звуковой сигнал частотой 500 Гц будет звучать в течение 2 с (2000 мс). Для генерации мелодий этого используется набор частот или элементы массива, соответствующие нотам различных октав:
Нота | Большая октава | Малая октава | Первая октава | Вторая октава |
До | ||||
РЕ | ||||
Ми | ||||
Фа | ||||
Соль | ||||
Ля | ||||
Си |
PROGRAM Demo_Sound ;{ заголовок программы}
USES CRT ;{ подключение модуля Crt}
CONST M: ARRAY [1..8] OF INTEGER= {M-массив частот нот}
(262,294,330,349,392,440,494,523);{значение частот}
VAR I: INTEGER; ChCHAR;{объявление служебных переменных}
BEGIN {начало раздела операторов}
WHILE True DO BEGIN {организация цикла WHILE}
Ch: =READKEY; {ожидание нажатия клавиши}
CASE Ch OF {анализ результата нажатия клавиши}
#49:I: =1 ;{ действие, если нажата клавиша 1}
#50:I: =2 ;{ действие, если нажата клавиша 2}…
#55:I: =7; {действие, если нажата клавиша 7}
#48:HALT ;{ выход при нажатии клавиши 0}
END ;{ завершение оператора CASE}
SOUND (M [I]) ;{ звучание с частотой M [I]}
DELAY (100) ;{ установка длительности звучания}
NOSOUND ;{ отмена звучания}
END ;{ конец оператора WHILE}
END. {конец программы}