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


Состояния бытия - часть 4


else if (ants[index].у <0)

ants[index].у = 199;

// здесь проверяем, не столкнулся ли муравей с камнем

rock = Read_Pixel_Fast(ants[index].x, ants[index].у);

if (rock)

{

// изменение состояния

ants[index].state =rand()%4;  // выбор нового состояния

} // конец оператора if

} // конец цикла

} // конец Move_Ants

////////////////////////////////////////////////

void Behind_Ants(veid)

{ int index;

// в цикле обрабатывается массив муравьев,

// определяется цвет фона для каждого муравья

for (index=0; index<NUM_ANTS; index++)

{ // читается пиксель и его значение сохраняется

// для

дальнейшего использования

ants[index].back_color = Read_Pixel_Fast(ants[index].x, ants[index].y) ;

} // конец

цикла

} // конец Behind_Ants ////////////////////////////////////////////////////////////

void Draw_Ants(void)

{

int index;

// в цикле обрабатывается массив муравьев, рисуется каждый

// муравей соответствующим цветом

for (index=0;index<NUM_ANTS; index++)

{

Plot_Pixel_Fast(ants[index].x, ants[index].y, ants[index].color);

} // конец

цикла

} // конец Draw_Ants

// ОСНОВНАЯ ПРОГРАММА //////////////////////////////////////

void main

(void)

{

// установка видеорежима 320х200х256

_setvideomode(_MRES256COLOR);

_settextposition(2,0);

printf("Hit any key to exit.");

//построение игрового пространства

Draw_Ground() ;

/ создаем

муравьев

Initialize_Ants();

while(!kbhit())

{ // стираем всех муравьев

Erase_Ants

(};

// перемещаем всех муравьев

Move_Ants

();

// определяем фон под муравьями

Behind_Ants() ;

// рисуем всех муравьев

Draw_Ants

(),;

// немного подождем

Timer(2);

} // конец оператора while

// восстановление первоначального видеорежима

_setvideomode(_DEFAULTMODE);

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

Если вы запустите программу, то увидите кучу точек на экране. Красные и зеленые точки — это муравьи, а серые — это камни. Когда муравьи натыкаются на камни, они меняют направление движения. Эта программа показывает использование переменных состояния.Позже мы узнаем, как использовать переменные состояния для создания более сложных для вычисления структур, называемых состоянием машины.

Теперь изменим тему и поговорим о том, как выглядит игра с точки зрения игрока.




Начало  Назад  Вперед



Книжный магазин