Вот такое задание: Даны два шарика диаметром М. Промоделировать движение шариков по всей плоскости экрана. Шарики могут двигаться по прямым линиям. Изменение угла движения после столкновения с границей экрана или друг с другом может быть случайной величиной. Шарик не может вылететь за пределы квадрата. Пользователь может варьировать скорости движения шариков с помощью стрелок управления курсором.
Хотелось бы разобраться в коде программы... ( дело в том, что код не мой) Объясните пожалуйста назначение каждой из процедур в тексте приведённой ниже программы!
{проверка на столкновение} function balls_hit (const r1,r2 : integer; x1,y1,x2,y2 : integer) : boolean; var dist : real; t1, t2, t3, t4, t5: real; begin t1 := abs(x2-x1); t2 := sqr(t1); t3 := abs(y2-y1); t4 := sqr(t3); t5 := t2 + t4; dist := sqrt(t5);
balls_hit := (dist < (r1 + r2)); end;
{если шары стлкнулись - изменяем скорость и угол } procedure balls_hit_2; begin if balls_hit(r1,r2,x1,y1,x2,y2) then after_hit (speed1, speed2, x1, y1,x2, y2,angle1,angle2); end;