II .6. Оператор цикла с параметром. Мигание — КиберПедия 

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

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

II .6. Оператор цикла с параметром. Мигание

2021-06-23 34
II .6. Оператор цикла с параметром. Мигание 0.00 из 5.00 0 оценок
Заказать работу

Компьютерная анимация – это получение движущихся изображений на экране монитора.

Оператор цикла с параметром можно использовать для получения целого ряда графических эффектов. Разобьем эффекты на группы и рассмотрим примеры программ к каждому из них.

1) Получение единого изображения, путем повторения его детали.

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

2) Мигание.

Задание: Нарисовать маячок, лампа которого мигает желтым цветом.

Решение:

Уточним требования: пусть маячок будет расположен в центре экрана (центр окружности, изображающей лампу, совпадает с точкой (320,240)), линии будем изображать серым цветом, треугольник закрасим синим, высота и основание треугольника имеют величину h, радиус лампы равен h\4.

Фрагмент программы, рисующей маячок, будет таков:

X=320

Y=240

LINE(X-H\2, Y+H\2)-(X, Y-H\2), 7

LINE –(X+H\2, Y+H\2), 7

LINE – (X-H\2, Y+H\2), 7

PAINT (X, Y), 1, 7

CIRCLE(X, Y), H\4, 7

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

Для задержки изображения можно использовать один из двух приемов:

- применить специальный оператор;

Формат:           SLEEP n

Sleep – служебное слово;

n – количество секунд, на которые система как бы заснет.

- использовать пустой оператор цикла с параметром.

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

Пример: FOR I=1 TO 1000

           NEXT I

Пока система будет выполнять отсчет от 1 до 1000, пройдут доли секунды. Размер этого времени можно изменить, изменив конечное значение параметра. Сам размер нельзя указать точно, т.к. он зависит от характеристик компьютера.

Для решения задачи потребуется реализовать следующий алгоритм:

1. Ввести высоту маячка;

2. Нарисовать маяк;

3. В цикле от 1 до 10:

а) закашиваем лампу желтым;

б) задерживаем;

в) закрашиваем лампу черным;

г) задерживаем.

 

  Программа:

CLS

PRINT “ввести высоту маячка”

INPUT H

SCREEN 12

X=320: Y=240

LINE(X-H\2, Y+H\2)-(X, Y-H\2), 7

LINE –(X+H\2, Y+H\2), 7

LINE – (X-H\2, Y+H\2), 7

PAINT (X, Y), 1, 7

CIRCLE(X, Y), H\4, 7

FOR I=1 TO 10

PAINT(X, Y), 14, 7

SLEEP 1

PAINT(X, Y), 0, 7

SLEEP 1

NEXT I

END

3) Исчезновение и появление объекта.

Задание: Заставить смайлик исчезать и появляться на экране 100 раз.

 

Решение:

Уточним требования: пусть смайлик будет расположен в центре экрана (центр окружности, изображающей лицо, совпадает с точкой (320,240)), линии будем изображать серым цветом, лицо закрасим желтым, радиус лица имеет величину r, радиус глаз равен r\6, длина линии рта равна r.

Фрагмент программы, рисующей маячок, будет таков:

X=320

Y=240

CIRCLE(X, Y), R, 7

PAINT(X, Y), 14, 7

CIRCLE(X-R\2, Y-R\2), R\6, 7

PAINT(X-R\2, Y-R\2), 1, 7

CIRCLE(X+R\2, Y-R\2), R\6, 7

PAINT(X+R\2, Y-R\2), 1, 7

LINE(X-R\2, Y+R\2)-(X+R\2, Y+R\2), 4

 

Для решения задачи потребуется реализовать следующий алгоритм:

1. Ввести радиус смайлика;

2. В цикле от 1 до 100:

а) рисуем смайлик;

б) задерживаем;

в) закрываем изображение черным квадратом;

г) задерживаем

 

Программа:

CLS

PRINT “ввести радиус смайлика”

INPUT R

SCREEN 12

X=320

Y=240

FOR I=1 TO 100

CIRCLE(X, Y), R, 7

PAINT(X, Y), 14, 7

CIRCLE(X-R\2, Y-R\2), R\6, 7

PAINT(X-R\2, Y-R\2), 1, 7

CIRCLE(X+R\2, Y-R\2), R\6, 7

PAINT(X+R\2, Y-R\2), 1, 7

LINE(X-R\2, Y+R\2)-(X+R\2, Y+R\2), 4

FOR W=1 TO 1000

NEXT W

LINE(X-R, Y-R)-(X+R, Y+R), 0, BF

FOR W=1 TO 1000

NEXT W

NEXT I

END

Задания для самостоятельного решения:

1. Пусть дерево меняет цвет с интервалом в 2 секунды: зеленое, желтое, красное. И так 5 раз.


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.