С для профессиональных программистов



         

Программа генерации движения спрайта компьютера. - часть 2


static skip = 0;

skip++;

if(skip==3)

skip=0;

return;

/* уменьшение времени реакции компьютера */

x = 0;

y = 0;

/* движение к игроку */

if(human[0][0]<ob1[0][0])

x = -1;

else

if(human[0][0]>ob1[0][0])

x = 1;

if(human[0][1]<ob1[0][1])

y = -1;

else

if(human[0][1]>ob1[0][1])

y = 1;

if(is_legal(ob1, x, y, sides))

update_object(ob1, x, y, sides);

update_object(ob2, x, y, sides);

else

if(x && is_legal(ob1, x, 0, sides))

update_object(ob1, x, 0, sides);

update_object(ob2, x, 0, sides);

else

if(is_legal(ob1, 0, y, sides))

update_object(ob1, 0, y, sides);

update_object(ob2, 0, y, sides);

/* генерация движения спрайта компьютера, когда

он убегает                    */

void not_it_comp_move(ob1, ob2, dx, dy, sides)

int ob1[][4], ob2[][4];

int dx, dy; /* направление последнего перемещения

"человека" */

int sides;

register int x, y, d;

static skip = 1;

skip++;

if (skip==3)

skip = 0;

return;

/* уменьшение времени реакции компьютера в 3 раза */

x = 0;

y = 0;

/* перемещение в противоположном направлении */

x = -dx;

y = -dy;

if (is_legal(ob1, x, y, sides))

updаte_object(ob1, x, y, sides);

updаte_object(ob2, x, y, sides);

else

if (x && is_legal(ob1, x, 0, sides))

update_object(ob1, x, 0, sides);

update_object(ob2, x, 0, sides);

else if (is_legal(ob1, 0, y, sides))

 

update_object(ob1, 0, y, sides);

update_object(ob2, 0, y, sides);

 

Эта функция так же как и предыдущая, работает с 3-кратным замедлением.




Содержание  Назад  Вперед