Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Лабораторна робота № 19 (21)



Тема: Використання процедур та функцій модуля Graph при розробці анімації.

Мета: Навчитися використовувати особливості модуля Graph при побудові рухомих зображень.

 

Хід роботи

Розробити програму рухомого об’єкту згідно свого варіанту (Див. Додаток Таблиця 8)

Приклад:

{ Рухомий об’єкт }

program titanik;

uses Graph, Crt;

Var

grDriver:integer; { драйвер }

grMode:integer; { графічний режим }

grPath:string; { місце розташування драйвера }

ErrCode:integer; { результат ініціалізації граф. режиму }

 

x,y:integer; { координати кораблика }

color:word; { колір кораблика }

bkcolor:word; { колір тла екрана }

{ Кораблик }

ProcedureTitan(x,y:integer; { координати базової точки }

color:word); { колір корабля }

Const

dx=5; dy=5;

Var

OldColor:word;

Begin

OldColor:=GetColor; { зберегти поточний колір }

SetColor(color); { встановити новий колір }

{ корпус }

MoveTo(x,y);

LineTo(x,y-2*dy);

LineTo(x+10*dx,y-2*dy);

LineTo(x+11*dx,y-3*dy);

LineTo(x+17*dx,y-3*dy);

LineTo(x+14*dx,y);

LineTo(x,y);

{ надстройка }

MoveTo(x+3*dx,y-2*dy);

LineTo(x+4*dx,y-3*dy);

LineTo(x+4*dx,y-4*dy);

LineTo(x+13*dx,y-4*dy);

LineTo(x+13*dx,y-3*dy);

Line(x+5*dx,y-3*dy,x+9*dx,y-3*dy);

{ капітанський мостик }

Rectangle(x+8*dx,y-4*dy,x+11*dx,y-5*dy);

{ труба}

Rectangle(x+7*dx,y-4*dy,x+8*dx,y-7*dy);

{ іллюмінатори }

Circle(x+12*dx,y-2*dy,Trunc(dx/2));

Circle(x+14*dx,y-2*dy,Trunc(dx/2));

{ мачта }

Line(x+10*dx,y-5*dy,x+10*dx,y-10*dy);

{ облаштування }

MoveTo(x+17*dx,y-3*dy);

LineTo(x+10*dx,y-10*dy);

LineTo(x,y-2*dy);

SetColor(OldColor); { відновити поточний колір }

End;

 

Begin

Readln;

grDriver := VGA; { режим VGA}

grMode:=VGAHi; { розширення 640х480}

grPath:=’d:\bp\bgi’; { драйвер, файл EGAVGA.BGI, знаходиться

в каталозі d:\bp\bgi }

InitGraph(grDriver, grMode,grPath);

ErrCode := GraphResult;

if ErrCode <> grOk then Halt(1);

x:=10;

y:=200;

color:=Yellow;

SetBkColor(Blue);

bkcolor:=GetBkColor;

repeat

Titan(x,y,color); { намалювати корабель }

Delay(100);

Titan(x,y,bkcolor); { стерти корабель }

PutPixel(x,y,color); { слід від корабля }

x:=x+2;

Delay(400);

until (x>500);

OutTextXY(10,10,’Рейс завершен!’);

readln;

CloseGraph; end.

 

Контрольні питання

1. Що таке ініціалізація графіки?

2. Які параметри необхідно задати для ініціалізації графіки, що вони означають?

3. Якою процедурою заливають фон екрану?

4. Як задають кольори в графічному режимі?

5. Які параметри необхідно задати для процедури малювання еліпса, що вони означають?

6. Які параметри необхідно задати для процедури стилю шрифту, що вони означають? На які етапи можна розбити виконання функції?

7. Чим відрізняється робота процедури від роботи функції?

8. Коли варто використовувати процедуру, а коли – функцію?

 

 




Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.