1. С использованием двух видеостраниц составить программу вывода на экран картины: приближение гор разного цвета (увеличивать размер гор).
2. С использованием двух видеостраниц составить программу вывода на экран картины: приближение облаков разного цвета.
3. Создать "бегущую строку" в графическом режиме с выводом части буфера (надписи) на невидимую страницу и сменой видеостраниц.
Мультипликация с управлением движения образа
Определяя смещение вновь выводимого образа в зависимости от кода нажатой клавиши, можно управлять движением фигуры. Обычно используют клавиши перемещения курсора. Приведем пример операторов, демонстрирующих принципы управляемого перемещения фигуры, с извлечением образа человечка из памяти:
dx:= 1; dy:= 1; { пошаговые перемещения по осям X и Y }
x:= 100; y:= 100; { начальные координаты смещаемого образа }
Xmax:= GetMaxX; Ymax:= GetMaxY;
Repeat
PutImage(x, y, P1^, 1); { выводим образ (запомненный ранее в P1^) }
xold:= x; yold:= y; { запоминаем координаты }
c:= readkey; { считываем код клавиши в переменную типа char }
|
|
if c = #0 then c:= readkey;
case c of { анализируем код нажатой клавиши }
#72: if y > 1 then y:= y - dy; { смещение вверх }
#75: if x > 2 then x:= x - dx; { смещение влево }
#80: if y < Ymax-100 then y:= y + dy; { смещение вниз }
#77: if x < Xmax-20 then x:= x + dx end; { смещение вправо }
PutImage(xold, yold, P1^, 1) {стираем образ }
Until c = #27; { при нажатии клавиши Esc перемещение прекратится }
Практическое задание N 1. 65
1. Перемещать по экрану стрелку-указатель под управлением курсорных клавиш с озвучиванием движения разной частотой звука в зависимости от направления перемещения.
2. Выполнить п. 1 так, чтобы стрелка всегда указывала направление своего перемещения.
Примечание: дополнить операторы перемещения стрелки в диагональных направлениях.