Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
//инициализация графики
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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!