Управление звуком.

Для создания звуковых эффектов используются процедуры модуля 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. {конец программы}