Студопедия

Главная страница Случайная страница

Разделы сайта

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






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Лабораторна робота № 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; { колір тла екрана }

    { Кораблик }

    Procedure Titan(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. Коли варто використовувати процедуру, а коли – функцію?

     

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.