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

       

Программа контроля касания спрайтов.


В этой игре режимы спрайтов изменяются на противоположные в том случае, если координаты хотя бы одной точки догоняющего спрайта совпадут с координатами любой точкой догоняемого. Правила игры могут быть изменены таким образом, что изменение режима произойдет лишь в случае полного совмещения спрайтов. Но эта довольно-таки сложная задача для многих игроков. Приведенная ниже функция tag() возвращает значение 1, если спрайты столкнулись, и 0 - в противном случае.

/* Проверяет есть ли контакт между спрайтами */

tag(ob1, ob2)

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

register int i;

/* для смены амплуа необходимо, чтобы спрайты

имели хотя бы одну общую точку растра */

for (i= -1; i<2; i++)

if (ob1[0][0]==ob2[0][0]+i && ob1[0][1]==ob2[0][2]+i)

return 1;

return 0;

Вы можете внести изменения в функцию tag() и установить свои правила контроля режимов спрайтов.



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