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


Шаблонные мысли - часть 4


switch(getch())

{

case 'u': // Вверх

{

py—2;.

} break;

case 'n': // Вниз

{

py+=2;

} break;

case 'j': // Вправо

{

px+=2 ;

} break;

case 'h': // Влево

{ px-=2 ;

} break;

case 'q':

{

done=1;

} break;

} // конец

оператора

switch

} // конец обработки нажатия клавиши

// Теперь перемещаем противника

// Начинается работа "мозга"

if (!doing_pattern)

{

if(px>ex) ex++;

if(px<ex) ex--;

if(py>ey) ey++;

if(py<ey} ey--;

// Теперь проверяем, не надо ли начать выполнять

// шаблон. Он начинает выполняться, если игрок

// оказывается в радиусе 50 точек от противника.

if (sqrt(.1+(рх-ех)*(рх-ех)+(ру-еу)*(ру-еу))<15)

{

// Даже не думайте использовать функцию sqrt в

// настоящей игре!

// Получаем случайный номер шаблона

curent_pattern = rand()%3;

// Переводим "мозг" в режим действий по шаблону

doing_pattern = 1;

pattern_element=0;

} // конец проверки на попадание игрока

// в "радиус действия"

} // конец действий, для случая, когда шаблон не выполнялся

else {

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

// элемент

текущего шаблона

ex+=patterns_x[current_pattern][pattern_element];

ey+=patterns_y[current_pattern] [pattern_element];

// мы закончили обработку шаблона?

if (++pattern_element==20)

{

pattern_element = 0;

doing_pattern = 0;

} // конец проверки на окончание шаблона

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

//конец работы, "мозга"

// рисуем точки

_setcolor(9);

_setpixel(px,py);

_setcolor(12);

_setpixel(ex,ey) ; // Немного

подождем...                                        

Timer(1);                                                     

} // конец

цикла while

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

_setvideomode(_DEFAULTMODE) ;

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

Когда вы запустите программу из Листинга 13.2, то поймете, почему я назвал ее "Муха". Точка, бегающая по экрану и в самом деле напоминает муху. Она приближается к вам и вдруг начинает быстро летать вокруг. И такое поведение персонажа воплощено всего в нескольких строках программы с применением описанных выше алгоритмов. (Гм, так как вы думаете, может быть люди - это и в самом деле комплекс действий и реакций?) Теперь рассмотрим случайные передвижения.




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



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