Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Point D ( 400, 200);



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

int dr = DETECT, // тип драйвера и адаптера - режим авто определения

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

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

// - перевод в графический режим

int errorcode=graphresult();

if(errorcode!=grOk){cout<<grapherrormsg(errorcode);

getch(); exit(0);}

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

setcolor(7); // установка цвета для линий и символов

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

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

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

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

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

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

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

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

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

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

*/

Рассмотрим класс “ пятно”

// определение класса spot находится в модуле spot.cpp

#ifndef SP

#define SP 1

#include “point.cpp”

class spot: public point { // класс spot производный от класса point

protected: //защищенные данные производного класса

int rad; // радиус пятна

int vis; // признак видимости пятна на экране

int tag; // признак сохранения образа пятна в памяти

char *pspot; //указатель на область ОП для изображения пятна

//(битового образа)

public:

spot(int xi, int yi, int ri):point(xi, yi) //конструктор производного класса с

//вызовом конструктора базового класса

{

int size; vis =0; tag =0; rad =ri;

size = imagesize (xi-ri, yi-ri, xi+ ri, yi+ ri);

// определяется объем памяти в байтах для

// для сохранения образа квадратного участка экрана, на котором будет

// изображено пятно

pspot=new char[size]; } //выделение памяти под битовый образ

~spot() //деструктор производного класса

{hide (); // удаление с экрана изображения пятна

tag =0;

delete []pspot;} // освободить память, выделенную под битовый образ

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

{ if (tag ==0) // если в памяти нет битового образа пятна

//то его не может быть на экране

| //рисуем на экране и помещаем в память

{ circle(x, y, rad); // нарисовать окружность

floodfill (x, y, getcolor()); // заполнить произвольную замкнутую фигуру

// x, y -координаты точки внутри фигуры, последний

// параметр задает цвет границы

getimage(x-rad,y-rad,x+rad,y+rad, pspot);

// помещает в память копию прямоугольного фрагмента

// изображения – битовый образ

tag=1; // признак наличия образа в памяти

}

else // если пятно есть в памяти

if (vis ==0) //но его нет на экране





Дата публикования: 2014-11-28; Прочитано: 262 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...