double arrow

Initgraph( тип графического драйвера, режим адаптера , путь к драйверу)

void far initgraph (int far * graphdriver, int far * graphmode, char far * pathtodriver);

Для указания типа драйвера в файле имеются константы:

DETECT = 0 (режим автоопределения типа)

CGA =1

EGA=3

VGA=9

и т. д.

Аналогично имеются константы для определения моды адаптера.

Но если программа рассчитана на работу с любым адаптером, вызов функции можно производить с требованием автоопределения типа драйвера:

int dr = DETECT, // тип драйвера и

mod; // режим работы адаптера

// определяются автоматически

//режим при этом выбирается с максимальным разрешением

initgraph (&dr, &mod, "D:\\Borlandc\\BGI");

// предполагается, что драйвер находится в каталоге BGI

#include <graphics.h>

#include <conio.h> //содержит прототип функции getch()

// опишем класс

class point { //точка на экране дисплея

int x, y; // собственные компонентные данные

public: // общедоступные компонентные функции

point (int xx=0, int yy =0); // прототип конструктора

// с умалчиваемыми значениями

void show (void); // прототип функции изображения точки

void move (int xo=0, int yo =0); // прототип функции

// перемещения точки с умалчиваемыми значениями

private: // собственная функция класса

void hide (); // прототип функции, убирающей точку с экрана

};

//дадим внешнее определение методам класса

point::point(int xx=0, int yy=0) // определение конструктора

{ x = xx; y = yy; }

Void point:: show (void)

{ putpixel (x, y, getcolor());} // int getcolor(void)

// возвращает номер цвета символов

Void point:: hide(void)

{ putpixel (x, y, getbkcolor()); }

void point::move (int xn=0, int yn=0)

{ hide ();

x =xn; y= yn;

show (); }

Void main ()

{ // создается три объекта, три невидимых точки

point A (150, 70);

point B; // координаты по умолчанию равны x=0 и y=0

point D (400, 200);

//инициализация графики

int dr = DETECT, mod;

initgraph (& dr, & mod, “D:\\ borlandc\\ bgi “);

// установка цвета

setcolor(4);

A.show (); // показать на экране точку А

getch () // подождать до нажатия клавиши

B.show (); // показать на экране точку В

getch (); // подождать до нажатия клавиши

D.show (); // показать на экране точку D

getch (); // подождать до нажатия клавиши

A.move (); // переместить точку А в начало координат

getch (); // подождать до нажатия клавиши

B.move(50, 60); // переместить точку B

getch (); // подождать до нажатия клавиши

closegraph();

}

При обращении к функции getch() программа останавливается и ждет ввода с клавиатуры любого символа, появляется возможность отследить смену изображений.

С этой же целью используется функция int kbhit (void) ( прототип в файле conio.h).

while (! Kbhit()); -задержка программы до нажатия клавиши.

Контрольные вопросы:

В чем суть объектно-ориентированного подхода к программированию? Дать определение класса.

Определение объекта класса по имени и с помощью указателя и динамического выделения памяти


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: