ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.09.2024
Просмотров: 5
Скачиваний: 0
Об’єктно-орієнтоване програмування
Лабораторна робота
Тема: Графіка
Основн теоретичні відомості
Приступаючи до вирішення завдань цього розділу, слід пригадати, що:
-
у графічному режимі екран є сукупністю крапок, кожна з яких може бути забарвлена в один з 16-ти кольорів;
-
координати крапок зростають зліва направо і зверху вниз. Ліва верхня крапка має координати (0,0), права нижняя (639,479);
-
для того, щоб програма могла виводити на екран графічні примітиви (лінії, кола, прямокутники), необхідно ініціалізувати графічний режим.
Шаблон графічної програми виглядає таким чином:
// шаблон графічної програми
#include <graphics.h>
#include <conio.h>
#define PATHTODRIVER "с:\\borlandc\\bgi\\"
void main (void)
{
int gdriver = DETECT; // драйвер
int gmode; // режим
int errorcode; // код помилки
initgraph(&gdriver &gmode, PATHTODRIVER);
errorcode = graphresult{);
if (errorcode != grOk) // помилка ініціалізації
// графічного режиму
{
printf("Помилка: %d\n", errorcode);
puts("Для завершення програми натискуйте <Enter>")
getch();
return;
}
// далі інструкції програми
closegraph(); // завершення графічного режиму
}
Завдання
-
Написати програму, яка викреслює на екрані будиночок
-
Написати програму, яка виводить на екран прапор Олімпійських ігор. Зображення прапора приведене нижче (одній клітці відповідає п'ять пікселів).
-
Написати програму, яка викреслює на екрані кораблик.
-
Написати програму, яка викреслює на екрані ракету.
Написати програму, яка викреслює на екрані кораблик
*Написати програму, яка викреслює на екрані узор з 100 кіл випадкового діаметру і кольору.
Приклад вирішення завдання:
/ / Рисует олимпийский флаг
#include <graphics.h>
#include <stdlib.h>
tinclude <stdio.h>
#include <conio.h>
#define PATHTODRIVER "с: \\borlandc\\bgi\\"
void main (void)
{
int gdriver = DETECT; // драйвер
int gmode; // режим
int errorcode; // код ошибки
initgraph(&gdriver, &gmode, PATHTODRIVER);
errorcode = graphresult();
if (errorcode != grOk) // ошибка инициализации
// графического режима
{
printf("Ошибка: %d\n", errorcode);
puts("Для завершения программы нажмите <Enter>");
getch();
exit(l);
}
// полотнище флага - сплошная заливка серым цветом
setfillstyle(SOLID_FILL,LIGHTGRAY); //
bar(80,80,200,135);
// кольца
setcolor(GREEN); // зеленое
circle(100,100,15);
setcolor (BLACK"); // черное
circle(140,100,15);
setcolor(RED); // красное
circle(180,100,15);
setcolor(YELLOW); // желтое
circle(120,115,15);
setcolor(BLUE); // синее
circle(160,115,15);
getch();
closegraph0; // выход из графического режима