Программирование игр для Windows. Советы профессионала

       

Многоугольники


Линии весьма просты, и если вы приложите немного усилий, то сможете из программы 4.2 сделать простой Screen Saver. Но видеоигры кроме линий содержат еще множество интересных графических объектов, например, многоугольников.

Многоугольник — это множество точек, объединенных линиями. Точки пересечения линий называются вершинами многоугольника. На рисунке 4.3 показан треугольник, образованный тремя вершинами.

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

Существует математический алгоритм, позволяющий определить, к какому типу относится данный многоугольник, но он довольно сложен и сейчас нам не нужен. Давайте лучше напишем программу, рисующую многоугольники (Листинг 4.3).

 

 

 

 

Листинг 4.3. Программа, рисующая многоугольники (POLYDRAW.C).

#include <stdio.h>

#include <graph.h>

void main(void)

{

// перевести компьютер в графический режим

_setvideomode( VRES16COLOR); // режим 640х480, 16 цветов



// нарисовать простой многоугольник

_setcolor(1);        // пусть он будет синего цвета

_moveto(100,100); // первая вершина

_lineto(120,120);   // вторая вершина

_lineto(150,200);   // третья вершина

_lineto(SO,190);    // четвертая вершина

_lineto(90,60);     // пятая вершина

_lineto (100,100); // назад для замыкания контура

// теперь отмечаем каждую вершину белым цветом

_setcolor(15); // белый цвет

_setpixel(100,100); // вершина 1

_setpixel(120,120); // еершина 2

_setpixel(150,200); // вершина 3

_setpixel(80,190); // вершина 4

_setpixel(80,60); // вершина 5

// ожидание нажатия любой клавиши

while(!kbhit()){}

// перевести компьютер в текстовый режим

_setvideomode(_DEFAULTMODE);

} // конец функции main



Содержание раздела