Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
logo_Ushenik2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
735.23 Кб
Скачать

Звуковое сопровождение

Logo Writer содержит команду, которая на резонатор (динамик) компьютера передает сигнал для воспроизведения звука заданной частоты, тем самым имитирует музыкальные сигналы. По выполнении команды звук 900 компьютер выдаст звуковой сигнал, похожий на взлет самолета. Так мультфильм «Вертолет» можно озвучить, добавив команду звук 900 в тело цикла. Если нужно делать прерывающийся звук, то добавляют команду жди 1. Например: повтори 20 [звук 900 жди 1].

Ранее рассматривался алгоритм создания движения человека. Если добавить музыкальное сопровождение, то получится «Веселая зарядка»: повтори 10 [звук 390 нф 16 жди 3 звук 330 нф 17 жди 3]

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

Для написания песен можно пользоваться следующей таблицей.

Нота

Частота по октавам

большая

малая

первая

вторая

Си

123

247

494

988

ля диез

117

233

466

932

ля

110

220

440

880

соль диез

104

208

415

830

соль

98

196

392

784

фа диез

92

185

370

740

Фа

87

175

349

698

ми

82

165

330

659

ре диез

78

156

311

622

ре

73

147

294

587

до диез

69

139

277

554

до

65

131

262

523

Гораздо удобнее предварительно создать отдельные процедуры для каждой ноты, эти процедуры можно использовать в процедуре мелодия. Так как может понадобиться исполнить одну и ту же ноту с разными длительностями, то процедуры, соответствующие нотам, должны иметь параметр, соответствующий длительности звучания. Напишем процедуры:

это до :время

звук 262 : время

конец

это ре :время

звук 294 : время

конец

это ми :время

звук 330 : время

конец

и так далее

Напишем процедуру для озвучивания песенки «Гуси»:

это гуси

фа 5 ми 5 ре 5 до 5 соль 10 жди 1 соль 10 жди 1

фа 5 ми 5 ре 5 до 5 соль 10 жди 1 соль 10 жди 1

фа 5 ля 5 жди 1 ля 5 фа 5 ми 5 соль 5 жди 1

соль 5 ми 5 ре 5 ми 5 фа 5 ре 5 до 10 жди 1 до 10

конец

Мультипликационные сюжеты

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

Мультфильм 1. «Кошка»

Напишем процедуру движения кошки по стене. Для этого необходима процедура, которая нарисует стену и процедура, которая будет имитировать движение.

это стена

иг

по нц 3

повтори 2[вп 40 пр 90 вп 100 пр 90]

пп пр 45 вп 20

по крась

пп нд 20 нд 45 вп 50

конец

Теперь можно создать процедуру, описывающую движение кошки:

это кошка

пп нц 1

нф 21

пр 90

повтори 110 [вп 1 жди 1]

np90

повтори 45 [вп 1 жди 1]

конец

Со сменой форм получится так:

это кошка

пп нц 1

пр 90

повтори 55 [нф 3 вп 1 жди 2 нф 4 вп 1 жди 2]

np90

повтори 20 [нф 3 вп 1 жди 2 нф 4 вп 1 жди 2]

конец

Можно усложнить сюжет и изобразить, используя две черепашки, погоню кошки за мышкой или птицей (когда кошка упадет, птица может улететь). В этом случае процедура кошка может выглядеть следующим образом:

это кошка

для 0 нф 21

для 1 нф .5 пч пп вп 90 пр 90 вп 30 лв 90

для [01]

пп нц 1

повтори 55 [вп 1 жди 2]

np90

повтори 20 [вп 1 жди 2]

конец

Вызов мультфильма осуществляется процедурой мультфильм:

это мультфильм

стена

кошка

конец

Мультфильм 2. «Космический корабль»

Для изображения полета двухступенчатого космического корабля нужно изготовить формы для двух ступеней корабля. Корабль строится из двух черепашек, одна из них имеет форму первой ступени, другая — второй (смотри рисунок). Перед запуском корабля черепашки должны стоять так, чтобы вместе они составляли целое изображение и были повернуты, вертикально вверх. Теперь можно выполнить процедуру старт:

это старт

для 0 пч нф _

для 1 пч нф _ вп _

для [01]

повтори _ [вп 2 жди 2]

конец

После этого можно убрать первую ступень и продолжить полет:

это полет

для 1 сч

для 0

повтори _ [вп 2 жди 2]

конец

В некоторых командах данных процедур не указаны параметры. Подберите их самостоятельно.

Если запустить наш корабль неоднократно, то имеет смысл сделать процедуру начальной установки черепашек:

это начало

для [0 1] пп домой

для 0 нф _ пч

для 1 нф _ пч вп _

конец

Все процедуры можно объединить в одну:

это ракета

начало

старт

полет

конец

Задание можно продолжить, добавив процедуру начального отсчета. В простейшем случае такой отсчет можно изобразить с помощью последовательности коротких звуковых сигналов:

это счет

повтори 10 [звук 900 2 жди 4]

конец

Можно изобразить начальный отсчет, заготовив ряд форм, изображающих цифры от 0 до 9 (предположим, что эти формы имеют номера от 10 до 19). Тогда процедура счет может иметь следующий вид:

это счет

для 3 нф 10 пч

повтори 9 [звук 900 2 жди 4 нф форма + 1]

конец

Вся процедура ракета теперь может выглядеть следующим/образом:

это ракета

начало

с чет

старт

полет

конец

Мультфильм 3. «Гонки »

В гонках принимают участие четыре черепашки. Можно использовать четыре разные формы, например, легковой автомобиль, лошадь, вертолет и грузовик. Процедура гонки может быть устроена следующим образом:

это гонки

старт

бег

конец

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

для [0123]

пп домой

Далее мы должны по очереди включать черепашки одну за другой и устанавливать их на линию старта:

для 0

для 1

и так далее.

Процедура бег устроена следующим образом: мы многократно выбираем наугад одну из черепашек и двигаем ее на случайное число шагов:

это бег

это шаг

для 4 вп

конец

Мультфильм 4. «Уличное движение»

Н а листе схематически изображается перекресток с четырьмя движущимися машинами Сначала на листе нужно нарисовать план перекрестка. При изображении зданий можно использовать команды крась и заполни. Единственная проблема — план улиц, в данном задании мы хотим, чтобы перекресток выглядел не как пересечение двух прямых, а в виде пересечения двух широких дорог. Мы можем воспользоваться тем, что черепашка, дойдя до края экрана, не останавливается, а продолжает движение с другой стороны экрана. Поэтому перекресток можно нарисовать командой

повтори 2 [вп _ пр 90 вп _ пр 90]

Далее следует заготовить нужные формы для всех четырех машин. Перед началом движения каждую черепашку следует повернуть в нужном направлении, поставить в нужном месте перекрестка и изменить форму. В частности, для черепашки с номером 1 это можно сделать следующим образом:

для 1

пч пп пр 270

Аналогично устанавливаются все остальные черепашки, каждая на свеем месте старта и развернута в нужном направлении. Теперь мы можем начать движение, выполнив следующие команды:

для [0 1 2 3]

повтори _.[вп 1 жди 1]

Если мы хотим запускать машины неоднократно, то целесообразно написать соответствующую процедуру.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]